<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>GtkTextBuffer</title>
<meta name="generator" content="DocBook XSL Stylesheets V1.76.1">
<link rel="home" href="index.html" title="GTK+ 2 Reference Manual">
<link rel="up" href="TextWidgetObjects.html" title="Multiline Text Editor">
<link rel="prev" href="GtkTextMark.html" title="GtkTextMark">
<link rel="next" href="GtkTextTag.html" title="GtkTextTag">
<meta name="generator" content="GTK-Doc V1.18 (XML mode)">
<link rel="stylesheet" href="style.css" type="text/css">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<table class="navigation" id="top" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2">
<tr valign="middle">
<td><a accesskey="p" href="GtkTextMark.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td>
<td><a accesskey="u" href="TextWidgetObjects.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td>
<td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td>
<th width="100%" align="center">GTK+ 2 Reference Manual</th>
<td><a accesskey="n" href="GtkTextTag.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td>
</tr>
<tr><td colspan="5" class="shortcuts">
<a href="#GtkTextBuffer.synopsis" class="shortcut">Top</a>
                   | 
                  <a href="#GtkTextBuffer.description" class="shortcut">Description</a>
                   | 
                  <a href="#GtkTextBuffer.object-hierarchy" class="shortcut">Object Hierarchy</a>
                   | 
                  <a href="#GtkTextBuffer.properties" class="shortcut">Properties</a>
                   | 
                  <a href="#GtkTextBuffer.signals" class="shortcut">Signals</a>
</td></tr>
</table>
<div class="refentry">
<a name="GtkTextBuffer"></a><div class="titlepage"></div>
<div class="refnamediv"><table width="100%"><tr>
<td valign="top">
<h2><span class="refentrytitle"><a name="GtkTextBuffer.top_of_page"></a>GtkTextBuffer</span></h2>
<p>GtkTextBuffer — Stores attributed text for display in a GtkTextView</p>
</td>
<td valign="top" align="right"></td>
</tr></table></div>
<div class="refsynopsisdiv">
<a name="GtkTextBuffer.synopsis"></a><h2>Synopsis</h2>
<pre class="synopsis">
#include &lt;gtk/gtk.h&gt;

                    <a class="link" href="GtkTextBuffer.html#GtkTextBuffer-struct" title="GtkTextBuffer">GtkTextBuffer</a>;
<a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="returnvalue">GtkTextBuffer</span></a> *     <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-new" title="gtk_text_buffer_new ()">gtk_text_buffer_new</a>                 (<em class="parameter"><code><a class="link" href="GtkTextTagTable.html" title="GtkTextTagTable"><span class="type">GtkTextTagTable</span></a> *table</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-get-line-count" title="gtk_text_buffer_get_line_count ()">gtk_text_buffer_get_line_count</a>      (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-get-char-count" title="gtk_text_buffer_get_char_count ()">gtk_text_buffer_get_char_count</a>      (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>);
<a class="link" href="GtkTextTagTable.html" title="GtkTextTagTable"><span class="returnvalue">GtkTextTagTable</span></a> *   <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-get-tag-table" title="gtk_text_buffer_get_tag_table ()">gtk_text_buffer_get_tag_table</a>       (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-insert" title="gtk_text_buffer_insert ()">gtk_text_buffer_insert</a>              (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *text</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> len</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-insert-at-cursor" title="gtk_text_buffer_insert_at_cursor ()">gtk_text_buffer_insert_at_cursor</a>    (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *text</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> len</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-insert-interactive" title="gtk_text_buffer_insert_interactive ()">gtk_text_buffer_insert_interactive</a>  (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *text</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> len</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> default_editable</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-insert-interactive-at-cursor" title="gtk_text_buffer_insert_interactive_at_cursor ()">gtk_text_buffer_insert_interactive_at_cursor</a>
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *text</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> len</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> default_editable</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-insert-range" title="gtk_text_buffer_insert_range ()">gtk_text_buffer_insert_range</a>        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *start</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *end</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-insert-range-interactive" title="gtk_text_buffer_insert_range_interactive ()">gtk_text_buffer_insert_range_interactive</a>
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *start</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *end</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> default_editable</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-insert-with-tags" title="gtk_text_buffer_insert_with_tags ()">gtk_text_buffer_insert_with_tags</a>    (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *text</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> len</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextTag.html" title="GtkTextTag"><span class="type">GtkTextTag</span></a> *first_tag</code></em>,
                                                         <em class="parameter"><code>...</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-insert-with-tags-by-name" title="gtk_text_buffer_insert_with_tags_by_name ()">gtk_text_buffer_insert_with_tags_by_name</a>
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *text</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> len</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_tag_name</code></em>,
                                                         <em class="parameter"><code>...</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-delete" title="gtk_text_buffer_delete ()">gtk_text_buffer_delete</a>              (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *start</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *end</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-delete-interactive" title="gtk_text_buffer_delete_interactive ()">gtk_text_buffer_delete_interactive</a>  (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *start_iter</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *end_iter</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> default_editable</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-backspace" title="gtk_text_buffer_backspace ()">gtk_text_buffer_backspace</a>           (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> interactive</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> default_editable</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-set-text" title="gtk_text_buffer_set_text ()">gtk_text_buffer_set_text</a>            (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *text</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> len</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *             <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-get-text" title="gtk_text_buffer_get_text ()">gtk_text_buffer_get_text</a>            (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *start</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *end</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> include_hidden_chars</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *             <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-get-slice" title="gtk_text_buffer_get_slice ()">gtk_text_buffer_get_slice</a>           (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *start</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *end</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> include_hidden_chars</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-insert-pixbuf" title="gtk_text_buffer_insert_pixbuf ()">gtk_text_buffer_insert_pixbuf</a>       (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/gdk-pixbuf/unstable/gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf"><span class="type">GdkPixbuf</span></a> *pixbuf</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-insert-child-anchor" title="gtk_text_buffer_insert_child_anchor ()">gtk_text_buffer_insert_child_anchor</a> (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextView.html#GtkTextChildAnchor"><span class="type">GtkTextChildAnchor</span></a> *anchor</code></em>);
<a class="link" href="GtkTextView.html#GtkTextChildAnchor"><span class="returnvalue">GtkTextChildAnchor</span></a> * <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-create-child-anchor" title="gtk_text_buffer_create_child_anchor ()">gtk_text_buffer_create_child_anchor</a>
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *iter</code></em>);
<a class="link" href="GtkTextMark.html" title="GtkTextMark"><span class="returnvalue">GtkTextMark</span></a> *       <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-create-mark" title="gtk_text_buffer_create_mark ()">gtk_text_buffer_create_mark</a>         (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *mark_name</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *where</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> left_gravity</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-move-mark" title="gtk_text_buffer_move_mark ()">gtk_text_buffer_move_mark</a>           (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextMark.html" title="GtkTextMark"><span class="type">GtkTextMark</span></a> *mark</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *where</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-move-mark-by-name" title="gtk_text_buffer_move_mark_by_name ()">gtk_text_buffer_move_mark_by_name</a>   (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *where</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-add-mark" title="gtk_text_buffer_add_mark ()">gtk_text_buffer_add_mark</a>            (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextMark.html" title="GtkTextMark"><span class="type">GtkTextMark</span></a> *mark</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *where</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-delete-mark" title="gtk_text_buffer_delete_mark ()">gtk_text_buffer_delete_mark</a>         (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextMark.html" title="GtkTextMark"><span class="type">GtkTextMark</span></a> *mark</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-delete-mark-by-name" title="gtk_text_buffer_delete_mark_by_name ()">gtk_text_buffer_delete_mark_by_name</a> (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);
<a class="link" href="GtkTextMark.html" title="GtkTextMark"><span class="returnvalue">GtkTextMark</span></a> *       <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-get-mark" title="gtk_text_buffer_get_mark ()">gtk_text_buffer_get_mark</a>            (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);
<a class="link" href="GtkTextMark.html" title="GtkTextMark"><span class="returnvalue">GtkTextMark</span></a> *       <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-get-insert" title="gtk_text_buffer_get_insert ()">gtk_text_buffer_get_insert</a>          (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>);
<a class="link" href="GtkTextMark.html" title="GtkTextMark"><span class="returnvalue">GtkTextMark</span></a> *       <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-get-selection-bound" title="gtk_text_buffer_get_selection_bound ()">gtk_text_buffer_get_selection_bound</a> (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-get-has-selection" title="gtk_text_buffer_get_has_selection ()">gtk_text_buffer_get_has_selection</a>   (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-place-cursor" title="gtk_text_buffer_place_cursor ()">gtk_text_buffer_place_cursor</a>        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *where</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-select-range" title="gtk_text_buffer_select_range ()">gtk_text_buffer_select_range</a>        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *ins</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *bound</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-apply-tag" title="gtk_text_buffer_apply_tag ()">gtk_text_buffer_apply_tag</a>           (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextTag.html" title="GtkTextTag"><span class="type">GtkTextTag</span></a> *tag</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *start</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *end</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-remove-tag" title="gtk_text_buffer_remove_tag ()">gtk_text_buffer_remove_tag</a>          (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextTag.html" title="GtkTextTag"><span class="type">GtkTextTag</span></a> *tag</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *start</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *end</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-apply-tag-by-name" title="gtk_text_buffer_apply_tag_by_name ()">gtk_text_buffer_apply_tag_by_name</a>   (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *start</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *end</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-remove-tag-by-name" title="gtk_text_buffer_remove_tag_by_name ()">gtk_text_buffer_remove_tag_by_name</a>  (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *start</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *end</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-remove-all-tags" title="gtk_text_buffer_remove_all_tags ()">gtk_text_buffer_remove_all_tags</a>     (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *start</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *end</code></em>);
<a class="link" href="GtkTextTag.html" title="GtkTextTag"><span class="returnvalue">GtkTextTag</span></a> *        <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-create-tag" title="gtk_text_buffer_create_tag ()">gtk_text_buffer_create_tag</a>          (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *tag_name</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
                                                         <em class="parameter"><code>...</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-get-iter-at-line-offset" title="gtk_text_buffer_get_iter_at_line_offset ()">gtk_text_buffer_get_iter_at_line_offset</a>
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> line_number</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> char_offset</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-get-iter-at-offset" title="gtk_text_buffer_get_iter_at_offset ()">gtk_text_buffer_get_iter_at_offset</a>  (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> char_offset</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-get-iter-at-line" title="gtk_text_buffer_get_iter_at_line ()">gtk_text_buffer_get_iter_at_line</a>    (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> line_number</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-get-iter-at-line-index" title="gtk_text_buffer_get_iter_at_line_index ()">gtk_text_buffer_get_iter_at_line_index</a>
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> line_number</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> byte_index</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-get-iter-at-mark" title="gtk_text_buffer_get_iter_at_mark ()">gtk_text_buffer_get_iter_at_mark</a>    (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextMark.html" title="GtkTextMark"><span class="type">GtkTextMark</span></a> *mark</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-get-iter-at-child-anchor" title="gtk_text_buffer_get_iter_at_child_anchor ()">gtk_text_buffer_get_iter_at_child_anchor</a>
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextView.html#GtkTextChildAnchor"><span class="type">GtkTextChildAnchor</span></a> *anchor</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-get-start-iter" title="gtk_text_buffer_get_start_iter ()">gtk_text_buffer_get_start_iter</a>      (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *iter</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-get-end-iter" title="gtk_text_buffer_get_end_iter ()">gtk_text_buffer_get_end_iter</a>        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *iter</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-get-bounds" title="gtk_text_buffer_get_bounds ()">gtk_text_buffer_get_bounds</a>          (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *start</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *end</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-get-modified" title="gtk_text_buffer_get_modified ()">gtk_text_buffer_get_modified</a>        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-set-modified" title="gtk_text_buffer_set_modified ()">gtk_text_buffer_set_modified</a>        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> setting</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-delete-selection" title="gtk_text_buffer_delete_selection ()">gtk_text_buffer_delete_selection</a>    (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> interactive</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> default_editable</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-paste-clipboard" title="gtk_text_buffer_paste_clipboard ()">gtk_text_buffer_paste_clipboard</a>     (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gtk-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *override_location</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> default_editable</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-copy-clipboard" title="gtk_text_buffer_copy_clipboard ()">gtk_text_buffer_copy_clipboard</a>      (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gtk-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-cut-clipboard" title="gtk_text_buffer_cut_clipboard ()">gtk_text_buffer_cut_clipboard</a>       (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gtk-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> default_editable</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-get-selection-bounds" title="gtk_text_buffer_get_selection_bounds ()">gtk_text_buffer_get_selection_bounds</a>
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *start</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *end</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-begin-user-action" title="gtk_text_buffer_begin_user_action ()">gtk_text_buffer_begin_user_action</a>   (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-end-user-action" title="gtk_text_buffer_end_user_action ()">gtk_text_buffer_end_user_action</a>     (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-add-selection-clipboard" title="gtk_text_buffer_add_selection_clipboard ()">gtk_text_buffer_add_selection_clipboard</a>
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gtk-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-remove-selection-clipboard" title="gtk_text_buffer_remove_selection_clipboard ()">gtk_text_buffer_remove_selection_clipboard</a>
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gtk-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>);

enum                <a class="link" href="GtkTextBuffer.html#GtkTextBufferTargetInfo" title="enum GtkTextBufferTargetInfo">GtkTextBufferTargetInfo</a>;
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            (<a class="link" href="GtkTextBuffer.html#GtkTextBufferDeserializeFunc" title="GtkTextBufferDeserializeFunc ()">*GtkTextBufferDeserializeFunc</a>)     (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *register_buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *content_buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *data</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> length</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> create_tags</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-deserialize" title="gtk_text_buffer_deserialize ()">gtk_text_buffer_deserialize</a>         (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *register_buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *content_buffer</code></em>,
                                                         <em class="parameter"><code><a href="../gdk/gdk-Properties-and-Atoms.html#GdkAtom"><span class="type">GdkAtom</span></a> format</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *data</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> length</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-deserialize-get-can-create-tags" title="gtk_text_buffer_deserialize_get_can_create_tags ()">gtk_text_buffer_deserialize_get_can_create_tags</a>
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a href="../gdk/gdk-Properties-and-Atoms.html#GdkAtom"><span class="type">GdkAtom</span></a> format</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-deserialize-set-can-create-tags" title="gtk_text_buffer_deserialize_set_can_create_tags ()">gtk_text_buffer_deserialize_set_can_create_tags</a>
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a href="../gdk/gdk-Properties-and-Atoms.html#GdkAtom"><span class="type">GdkAtom</span></a> format</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> can_create_tags</code></em>);
<a class="link" href="gtk-Selections.html#GtkTargetList"><span class="returnvalue">GtkTargetList</span></a> *     <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-get-copy-target-list" title="gtk_text_buffer_get_copy_target_list ()">gtk_text_buffer_get_copy_target_list</a>
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>);
<a href="../gdk/gdk-Properties-and-Atoms.html#GdkAtom"><span class="returnvalue">GdkAtom</span></a> *           <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-get-deserialize-formats" title="gtk_text_buffer_get_deserialize_formats ()">gtk_text_buffer_get_deserialize_formats</a>
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *n_formats</code></em>);
<a class="link" href="gtk-Selections.html#GtkTargetList"><span class="returnvalue">GtkTargetList</span></a> *     <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-get-paste-target-list" title="gtk_text_buffer_get_paste_target_list ()">gtk_text_buffer_get_paste_target_list</a>
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>);
<a href="../gdk/gdk-Properties-and-Atoms.html#GdkAtom"><span class="returnvalue">GdkAtom</span></a> *           <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-get-serialize-formats" title="gtk_text_buffer_get_serialize_formats ()">gtk_text_buffer_get_serialize_formats</a>
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *n_formats</code></em>);
<a href="../gdk/gdk-Properties-and-Atoms.html#GdkAtom"><span class="returnvalue">GdkAtom</span></a>             <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-register-deserialize-format" title="gtk_text_buffer_register_deserialize_format ()">gtk_text_buffer_register_deserialize_format</a>
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *mime_type</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextBuffer.html#GtkTextBufferDeserializeFunc" title="GtkTextBufferDeserializeFunc ()"><span class="type">GtkTextBufferDeserializeFunc</span></a> function</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> user_data_destroy</code></em>);
<a href="../gdk/gdk-Properties-and-Atoms.html#GdkAtom"><span class="returnvalue">GdkAtom</span></a>             <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-register-deserialize-tagset" title="gtk_text_buffer_register_deserialize_tagset ()">gtk_text_buffer_register_deserialize_tagset</a>
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *tagset_name</code></em>);
<a href="../gdk/gdk-Properties-and-Atoms.html#GdkAtom"><span class="returnvalue">GdkAtom</span></a>             <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-register-serialize-format" title="gtk_text_buffer_register_serialize_format ()">gtk_text_buffer_register_serialize_format</a>
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *mime_type</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextBuffer.html#GtkTextBufferSerializeFunc" title="GtkTextBufferSerializeFunc ()"><span class="type">GtkTextBufferSerializeFunc</span></a> function</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> user_data_destroy</code></em>);
<a href="../gdk/gdk-Properties-and-Atoms.html#GdkAtom"><span class="returnvalue">GdkAtom</span></a>             <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-register-serialize-tagset" title="gtk_text_buffer_register_serialize_tagset ()">gtk_text_buffer_register_serialize_tagset</a>
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *tagset_name</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="returnvalue">guint8</span></a> *            (<a class="link" href="GtkTextBuffer.html#GtkTextBufferSerializeFunc" title="GtkTextBufferSerializeFunc ()">*GtkTextBufferSerializeFunc</a>)       (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *register_buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *content_buffer</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *start</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *end</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> *length</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="returnvalue">guint8</span></a> *            <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-serialize" title="gtk_text_buffer_serialize ()">gtk_text_buffer_serialize</a>           (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *register_buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *content_buffer</code></em>,
                                                         <em class="parameter"><code><a href="../gdk/gdk-Properties-and-Atoms.html#GdkAtom"><span class="type">GdkAtom</span></a> format</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *start</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *end</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> *length</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-unregister-deserialize-format" title="gtk_text_buffer_unregister_deserialize_format ()">gtk_text_buffer_unregister_deserialize_format</a>
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a href="../gdk/gdk-Properties-and-Atoms.html#GdkAtom"><span class="type">GdkAtom</span></a> format</code></em>);
<span class="returnvalue">void</span>                <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-unregister-serialize-format" title="gtk_text_buffer_unregister_serialize_format ()">gtk_text_buffer_unregister_serialize_format</a>
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a href="../gdk/gdk-Properties-and-Atoms.html#GdkAtom"><span class="type">GdkAtom</span></a> format</code></em>);
</pre>
</div>
<div class="refsect1">
<a name="GtkTextBuffer.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="synopsis">
  <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
   +----GtkTextBuffer
</pre>
</div>
<div class="refsect1">
<a name="GtkTextBuffer.properties"></a><h2>Properties</h2>
<pre class="synopsis">
  "<a class="link" href="GtkTextBuffer.html#GtkTextBuffer--copy-target-list" title='The "copy-target-list" property'>copy-target-list</a>"         <a class="link" href="gtk-Selections.html#GtkTargetList"><span class="type">GtkTargetList</span></a>*        : Read
  "<a class="link" href="GtkTextBuffer.html#GtkTextBuffer--cursor-position" title='The "cursor-position" property'>cursor-position</a>"          <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read
  "<a class="link" href="GtkTextBuffer.html#GtkTextBuffer--has-selection" title='The "has-selection" property'>has-selection</a>"            <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read
  "<a class="link" href="GtkTextBuffer.html#GtkTextBuffer--paste-target-list" title='The "paste-target-list" property'>paste-target-list</a>"        <a class="link" href="gtk-Selections.html#GtkTargetList"><span class="type">GtkTargetList</span></a>*        : Read
  "<a class="link" href="GtkTextBuffer.html#GtkTextBuffer--tag-table" title='The "tag-table" property'>tag-table</a>"                <a class="link" href="GtkTextTagTable.html" title="GtkTextTagTable"><span class="type">GtkTextTagTable</span></a>*      : Read / Write / Construct Only
  "<a class="link" href="GtkTextBuffer.html#GtkTextBuffer--text" title='The "text" property'>text</a>"                     <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>*                : Read / Write
</pre>
</div>
<div class="refsect1">
<a name="GtkTextBuffer.signals"></a><h2>Signals</h2>
<pre class="synopsis">
  "<a class="link" href="GtkTextBuffer.html#GtkTextBuffer-apply-tag" title='The "apply-tag" signal'>apply-tag</a>"                                      : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
  "<a class="link" href="GtkTextBuffer.html#GtkTextBuffer-begin-user-action" title='The "begin-user-action" signal'>begin-user-action</a>"                              : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
  "<a class="link" href="GtkTextBuffer.html#GtkTextBuffer-changed" title='The "changed" signal'>changed</a>"                                        : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
  "<a class="link" href="GtkTextBuffer.html#GtkTextBuffer-delete-range" title='The "delete-range" signal'>delete-range</a>"                                   : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
  "<a class="link" href="GtkTextBuffer.html#GtkTextBuffer-end-user-action" title='The "end-user-action" signal'>end-user-action</a>"                                : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
  "<a class="link" href="GtkTextBuffer.html#GtkTextBuffer-insert-child-anchor" title='The "insert-child-anchor" signal'>insert-child-anchor</a>"                            : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
  "<a class="link" href="GtkTextBuffer.html#GtkTextBuffer-insert-pixbuf" title='The "insert-pixbuf" signal'>insert-pixbuf</a>"                                  : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
  "<a class="link" href="GtkTextBuffer.html#GtkTextBuffer-insert-text" title='The "insert-text" signal'>insert-text</a>"                                    : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
  "<a class="link" href="GtkTextBuffer.html#GtkTextBuffer-mark-deleted" title='The "mark-deleted" signal'>mark-deleted</a>"                                   : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
  "<a class="link" href="GtkTextBuffer.html#GtkTextBuffer-mark-set" title='The "mark-set" signal'>mark-set</a>"                                       : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
  "<a class="link" href="GtkTextBuffer.html#GtkTextBuffer-modified-changed" title='The "modified-changed" signal'>modified-changed</a>"                               : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
  "<a class="link" href="GtkTextBuffer.html#GtkTextBuffer-paste-done" title='The "paste-done" signal'>paste-done</a>"                                     : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
  "<a class="link" href="GtkTextBuffer.html#GtkTextBuffer-remove-tag" title='The "remove-tag" signal'>remove-tag</a>"                                     : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
</pre>
</div>
<div class="refsect1">
<a name="GtkTextBuffer.description"></a><h2>Description</h2>
<p>
You may wish to begin by reading the <a class="link" href="TextWidget.html" title="Text Widget Overview">text widget
conceptual overview</a> which gives an overview of all the objects and data
types related to the text widget and how they work together.
</p>
<p>
</p>
</div>
<div class="refsect1">
<a name="GtkTextBuffer.details"></a><h2>Details</h2>
<div class="refsect2">
<a name="GtkTextBuffer-struct"></a><h3>GtkTextBuffer</h3>
<pre class="programlisting">typedef struct _GtkTextBuffer GtkTextBuffer;</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-new"></a><h3>gtk_text_buffer_new ()</h3>
<pre class="programlisting"><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="returnvalue">GtkTextBuffer</span></a> *     gtk_text_buffer_new                 (<em class="parameter"><code><a class="link" href="GtkTextTagTable.html" title="GtkTextTagTable"><span class="type">GtkTextTagTable</span></a> *table</code></em>);</pre>
<p>
Creates a new text buffer.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>table</code></em> :</span></p></td>
<td>a tag table, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to create a new one. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a new text buffer</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-get-line-count"></a><h3>gtk_text_buffer_get_line_count ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>                gtk_text_buffer_get_line_count      (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>);</pre>
<p>
Obtains the number of lines in the buffer. This value is cached, so
the function is very fast.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>number of lines in the buffer</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-get-char-count"></a><h3>gtk_text_buffer_get_char_count ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="returnvalue">gint</span></a>                gtk_text_buffer_get_char_count      (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>);</pre>
<p>
Gets the number of characters in the buffer; note that characters
and bytes are not the same, you can't e.g. expect the contents of
the buffer in string form to be this many bytes long. The character
count is cached, so this function is very fast.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>number of characters in the buffer</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-get-tag-table"></a><h3>gtk_text_buffer_get_tag_table ()</h3>
<pre class="programlisting"><a class="link" href="GtkTextTagTable.html" title="GtkTextTagTable"><span class="returnvalue">GtkTextTagTable</span></a> *   gtk_text_buffer_get_tag_table       (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>);</pre>
<p>
Get the <a class="link" href="GtkTextTagTable.html" title="GtkTextTagTable"><span class="type">GtkTextTagTable</span></a> associated with this buffer.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the buffer's tag table. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-insert"></a><h3>gtk_text_buffer_insert ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_text_buffer_insert              (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *text</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> len</code></em>);</pre>
<p>
Inserts <em class="parameter"><code>len</code></em> bytes of <em class="parameter"><code>text</code></em> at position <em class="parameter"><code>iter</code></em>.  If <em class="parameter"><code>len</code></em> is -1,
<em class="parameter"><code>text</code></em> must be nul-terminated and will be inserted in its
entirety. Emits the "insert-text" signal; insertion actually occurs
in the default handler for the signal. <em class="parameter"><code>iter</code></em> is invalidated when
insertion occurs (because the buffer contents change), but the
default signal handler revalidates it to point to the end of the
inserted text.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
<td>a position in the buffer</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
<td>text in UTF-8 format</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
<td>length of text in bytes, or -1</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-insert-at-cursor"></a><h3>gtk_text_buffer_insert_at_cursor ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_text_buffer_insert_at_cursor    (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *text</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> len</code></em>);</pre>
<p>
Simply calls <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-insert" title="gtk_text_buffer_insert ()"><code class="function">gtk_text_buffer_insert()</code></a>, using the current
cursor position as the insertion point.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
<td>text in UTF-8 format</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
<td>length of text, in bytes</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-insert-interactive"></a><h3>gtk_text_buffer_insert_interactive ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gtk_text_buffer_insert_interactive  (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *text</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> len</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> default_editable</code></em>);</pre>
<p>
Like <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-insert" title="gtk_text_buffer_insert ()"><code class="function">gtk_text_buffer_insert()</code></a>, but the insertion will not occur if
<em class="parameter"><code>iter</code></em> is at a non-editable location in the buffer. Usually you
want to prevent insertions at ineditable locations if the insertion
results from a user action (is interactive).
</p>
<p>
<em class="parameter"><code>default_editable</code></em> indicates the editability of text that doesn't
have a tag affecting editability applied to it. Typically the
result of <a class="link" href="GtkTextView.html#gtk-text-view-get-editable" title="gtk_text_view_get_editable ()"><code class="function">gtk_text_view_get_editable()</code></a> is appropriate here.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
<td>a position in <em class="parameter"><code>buffer</code></em>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
<td>some UTF-8 text</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
<td>length of text in bytes, or -1</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>default_editable</code></em> :</span></p></td>
<td>default editability of buffer</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>whether text was actually inserted</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-insert-interactive-at-cursor"></a><h3>gtk_text_buffer_insert_interactive_at_cursor ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gtk_text_buffer_insert_interactive_at_cursor
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *text</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> len</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> default_editable</code></em>);</pre>
<p>
Calls <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-insert-interactive" title="gtk_text_buffer_insert_interactive ()"><code class="function">gtk_text_buffer_insert_interactive()</code></a> at the cursor
position.
</p>
<p>
<em class="parameter"><code>default_editable</code></em> indicates the editability of text that doesn't
have a tag affecting editability applied to it. Typically the
result of <a class="link" href="GtkTextView.html#gtk-text-view-get-editable" title="gtk_text_view_get_editable ()"><code class="function">gtk_text_view_get_editable()</code></a> is appropriate here.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
<td>text in UTF-8 format</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
<td>length of text in bytes, or -1</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>default_editable</code></em> :</span></p></td>
<td>default editability of buffer</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>whether text was actually inserted</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-insert-range"></a><h3>gtk_text_buffer_insert_range ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_text_buffer_insert_range        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *start</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *end</code></em>);</pre>
<p>
Copies text, tags, and pixbufs between <em class="parameter"><code>start</code></em> and <em class="parameter"><code>end</code></em> (the order
of <em class="parameter"><code>start</code></em> and <em class="parameter"><code>end</code></em> doesn't matter) and inserts the copy at <em class="parameter"><code>iter</code></em>.
Used instead of simply getting/inserting text because it preserves
images and tags. If <em class="parameter"><code>start</code></em> and <em class="parameter"><code>end</code></em> are in a different buffer from
<em class="parameter"><code>buffer</code></em>, the two buffers must share the same tag table.
</p>
<p>
Implemented via emissions of the insert_text and apply_tag signals,
so expect those.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
<td>a position in <em class="parameter"><code>buffer</code></em>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>start</code></em> :</span></p></td>
<td>a position in a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>end</code></em> :</span></p></td>
<td>another position in the same buffer as <em class="parameter"><code>start</code></em>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-insert-range-interactive"></a><h3>gtk_text_buffer_insert_range_interactive ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gtk_text_buffer_insert_range_interactive
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *start</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *end</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> default_editable</code></em>);</pre>
<p>
Same as <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-insert-range" title="gtk_text_buffer_insert_range ()"><code class="function">gtk_text_buffer_insert_range()</code></a>, but does nothing if the
insertion point isn't editable. The <em class="parameter"><code>default_editable</code></em> parameter
indicates whether the text is editable at <em class="parameter"><code>iter</code></em> if no tags
enclosing <em class="parameter"><code>iter</code></em> affect editability. Typically the result of
<a class="link" href="GtkTextView.html#gtk-text-view-get-editable" title="gtk_text_view_get_editable ()"><code class="function">gtk_text_view_get_editable()</code></a> is appropriate here.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
<td>a position in <em class="parameter"><code>buffer</code></em>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>start</code></em> :</span></p></td>
<td>a position in a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>end</code></em> :</span></p></td>
<td>another position in the same buffer as <em class="parameter"><code>start</code></em>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>default_editable</code></em> :</span></p></td>
<td>default editability of the buffer</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>whether an insertion was possible at <em class="parameter"><code>iter</code></em>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-insert-with-tags"></a><h3>gtk_text_buffer_insert_with_tags ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_text_buffer_insert_with_tags    (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *text</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> len</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextTag.html" title="GtkTextTag"><span class="type">GtkTextTag</span></a> *first_tag</code></em>,
                                                         <em class="parameter"><code>...</code></em>);</pre>
<p>
Inserts <em class="parameter"><code>text</code></em> into <em class="parameter"><code>buffer</code></em> at <em class="parameter"><code>iter</code></em>, applying the list of tags to
the newly-inserted text. The last tag specified must be NULL to
terminate the list. Equivalent to calling <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-insert" title="gtk_text_buffer_insert ()"><code class="function">gtk_text_buffer_insert()</code></a>,
then <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-apply-tag" title="gtk_text_buffer_apply_tag ()"><code class="function">gtk_text_buffer_apply_tag()</code></a> on the inserted text;
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-insert-with-tags" title="gtk_text_buffer_insert_with_tags ()"><code class="function">gtk_text_buffer_insert_with_tags()</code></a> is just a convenience function.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
<td>an iterator in <em class="parameter"><code>buffer</code></em>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
<td>UTF-8 text</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
<td>length of <em class="parameter"><code>text</code></em>, or -1</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>first_tag</code></em> :</span></p></td>
<td>first tag to apply to <em class="parameter"><code>text</code></em>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-insert-with-tags-by-name"></a><h3>gtk_text_buffer_insert_with_tags_by_name ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_text_buffer_insert_with_tags_by_name
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *text</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> len</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_tag_name</code></em>,
                                                         <em class="parameter"><code>...</code></em>);</pre>
<p>
Same as <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-insert-with-tags" title="gtk_text_buffer_insert_with_tags ()"><code class="function">gtk_text_buffer_insert_with_tags()</code></a>, but allows you
to pass in tag names instead of tag objects.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
<td>position in <em class="parameter"><code>buffer</code></em>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
<td>UTF-8 text</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
<td>length of <em class="parameter"><code>text</code></em>, or -1</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>first_tag_name</code></em> :</span></p></td>
<td>name of a tag to apply to <em class="parameter"><code>text</code></em>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-delete"></a><h3>gtk_text_buffer_delete ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_text_buffer_delete              (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *start</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *end</code></em>);</pre>
<p>
Deletes text between <em class="parameter"><code>start</code></em> and <em class="parameter"><code>end</code></em>. The order of <em class="parameter"><code>start</code></em> and <em class="parameter"><code>end</code></em>
is not actually relevant; <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-delete" title="gtk_text_buffer_delete ()"><code class="function">gtk_text_buffer_delete()</code></a> will reorder
them. This function actually emits the "delete-range" signal, and
the default handler of that signal deletes the text. Because the
buffer is modified, all outstanding iterators become invalid after
calling this function; however, the <em class="parameter"><code>start</code></em> and <em class="parameter"><code>end</code></em> will be
re-initialized to point to the location where text was deleted.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>start</code></em> :</span></p></td>
<td>a position in <em class="parameter"><code>buffer</code></em>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>end</code></em> :</span></p></td>
<td>another position in <em class="parameter"><code>buffer</code></em>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-delete-interactive"></a><h3>gtk_text_buffer_delete_interactive ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gtk_text_buffer_delete_interactive  (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *start_iter</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *end_iter</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> default_editable</code></em>);</pre>
<p>
Deletes all <span class="emphasis"><em>editable</em></span> text in the given range.
Calls <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-delete" title="gtk_text_buffer_delete ()"><code class="function">gtk_text_buffer_delete()</code></a> for each editable sub-range of
[<em class="parameter"><code>start</code></em>,<em class="parameter"><code>end</code></em>). <em class="parameter"><code>start</code></em> and <em class="parameter"><code>end</code></em> are revalidated to point to
the location of the last deleted range, or left untouched if
no text was deleted.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>start_iter</code></em> :</span></p></td>
<td>start of range to delete</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>end_iter</code></em> :</span></p></td>
<td>end of range</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>default_editable</code></em> :</span></p></td>
<td>whether the buffer is editable by default</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>whether some text was actually deleted</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-backspace"></a><h3>gtk_text_buffer_backspace ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gtk_text_buffer_backspace           (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> interactive</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> default_editable</code></em>);</pre>
<p>
Performs the appropriate action as if the user hit the delete
key with the cursor at the position specified by <em class="parameter"><code>iter</code></em>. In the
normal case a single character will be deleted, but when
combining accents are involved, more than one character can
be deleted, and when precomposed character and accent combinations
are involved, less than one character will be deleted.
</p>
<p>
Because the buffer is modified, all outstanding iterators become 
invalid after calling this function; however, the <em class="parameter"><code>iter</code></em> will be
re-initialized to point to the location where text was deleted.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
<td>a position in <em class="parameter"><code>buffer</code></em>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>interactive</code></em> :</span></p></td>
<td>whether the deletion is caused by user interaction</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>default_editable</code></em> :</span></p></td>
<td>whether the buffer is editable by default</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the buffer was modified</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.6</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-set-text"></a><h3>gtk_text_buffer_set_text ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_text_buffer_set_text            (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *text</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> len</code></em>);</pre>
<p>
Deletes current contents of <em class="parameter"><code>buffer</code></em>, and inserts <em class="parameter"><code>text</code></em> instead. If
<em class="parameter"><code>len</code></em> is -1, <em class="parameter"><code>text</code></em> must be nul-terminated. <em class="parameter"><code>text</code></em> must be valid UTF-8.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
<td>UTF-8 text to insert</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
<td>length of <em class="parameter"><code>text</code></em> in bytes</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-get-text"></a><h3>gtk_text_buffer_get_text ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *             gtk_text_buffer_get_text            (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *start</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *end</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> include_hidden_chars</code></em>);</pre>
<p>
Returns the text in the range [<em class="parameter"><code>start</code></em>,<em class="parameter"><code>end</code></em>). Excludes undisplayed
text (text marked with tags that set the invisibility attribute) if
<em class="parameter"><code>include_hidden_chars</code></em> is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>. Does not include characters
representing embedded images, so byte and character indexes into
the returned string do <span class="emphasis"><em>not</em></span> correspond to byte
and character indexes into the buffer. Contrast with
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-get-slice" title="gtk_text_buffer_get_slice ()"><code class="function">gtk_text_buffer_get_slice()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>start</code></em> :</span></p></td>
<td>start of a range</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>end</code></em> :</span></p></td>
<td>end of a range</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>include_hidden_chars</code></em> :</span></p></td>
<td>whether to include invisible text</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>an allocated UTF-8 string</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-get-slice"></a><h3>gtk_text_buffer_get_slice ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="returnvalue">gchar</span></a> *             gtk_text_buffer_get_slice           (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *start</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *end</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> include_hidden_chars</code></em>);</pre>
<p>
Returns the text in the range [<em class="parameter"><code>start</code></em>,<em class="parameter"><code>end</code></em>). Excludes undisplayed
text (text marked with tags that set the invisibility attribute) if
<em class="parameter"><code>include_hidden_chars</code></em> is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>. The returned string includes a
0xFFFC character whenever the buffer contains
embedded images, so byte and character indexes into
the returned string <span class="emphasis"><em>do</em></span> correspond to byte
and character indexes into the buffer. Contrast with
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-get-text" title="gtk_text_buffer_get_text ()"><code class="function">gtk_text_buffer_get_text()</code></a>. Note that 0xFFFC can occur in normal
text as well, so it is not a reliable indicator that a pixbuf or
widget is in the buffer.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>start</code></em> :</span></p></td>
<td>start of a range</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>end</code></em> :</span></p></td>
<td>end of a range</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>include_hidden_chars</code></em> :</span></p></td>
<td>whether to include invisible text</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>an allocated UTF-8 string</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-insert-pixbuf"></a><h3>gtk_text_buffer_insert_pixbuf ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_text_buffer_insert_pixbuf       (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/gdk-pixbuf/unstable/gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf"><span class="type">GdkPixbuf</span></a> *pixbuf</code></em>);</pre>
<p>
Inserts an image into the text buffer at <em class="parameter"><code>iter</code></em>. The image will be
counted as one character in character counts, and when obtaining
the buffer contents as a string, will be represented by the Unicode
"object replacement character" 0xFFFC. Note that the "slice"
variants for obtaining portions of the buffer as a string include
this character for pixbufs, but the "text" variants do
not. e.g. see <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-get-slice" title="gtk_text_buffer_get_slice ()"><code class="function">gtk_text_buffer_get_slice()</code></a> and
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-get-text" title="gtk_text_buffer_get_text ()"><code class="function">gtk_text_buffer_get_text()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
<td>location to insert the pixbuf</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>pixbuf</code></em> :</span></p></td>
<td>a <a href="http://library.gnome.org/devel/gdk-pixbuf/unstable/gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf"><span class="type">GdkPixbuf</span></a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-insert-child-anchor"></a><h3>gtk_text_buffer_insert_child_anchor ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_text_buffer_insert_child_anchor (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextView.html#GtkTextChildAnchor"><span class="type">GtkTextChildAnchor</span></a> *anchor</code></em>);</pre>
<p>
Inserts a child widget anchor into the text buffer at <em class="parameter"><code>iter</code></em>. The
anchor will be counted as one character in character counts, and
when obtaining the buffer contents as a string, will be represented
by the Unicode "object replacement character" 0xFFFC. Note that the
"slice" variants for obtaining portions of the buffer as a string
include this character for child anchors, but the "text" variants do
not. E.g. see <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-get-slice" title="gtk_text_buffer_get_slice ()"><code class="function">gtk_text_buffer_get_slice()</code></a> and
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-get-text" title="gtk_text_buffer_get_text ()"><code class="function">gtk_text_buffer_get_text()</code></a>. Consider
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-create-child-anchor" title="gtk_text_buffer_create_child_anchor ()"><code class="function">gtk_text_buffer_create_child_anchor()</code></a> as a more convenient
alternative to this function. The buffer will add a reference to
the anchor, so you can unref it after insertion.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
<td>location to insert the anchor</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>anchor</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextView.html#GtkTextChildAnchor"><span class="type">GtkTextChildAnchor</span></a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-create-child-anchor"></a><h3>gtk_text_buffer_create_child_anchor ()</h3>
<pre class="programlisting"><a class="link" href="GtkTextView.html#GtkTextChildAnchor"><span class="returnvalue">GtkTextChildAnchor</span></a> * gtk_text_buffer_create_child_anchor
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *iter</code></em>);</pre>
<p>
This is a convenience function which simply creates a child anchor
with <a class="link" href="GtkTextView.html#gtk-text-child-anchor-new" title="gtk_text_child_anchor_new ()"><code class="function">gtk_text_child_anchor_new()</code></a> and inserts it into the buffer
with <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-insert-child-anchor" title="gtk_text_buffer_insert_child_anchor ()"><code class="function">gtk_text_buffer_insert_child_anchor()</code></a>. The new anchor is
owned by the buffer; no reference count is returned to
the caller of <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-create-child-anchor" title="gtk_text_buffer_create_child_anchor ()"><code class="function">gtk_text_buffer_create_child_anchor()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
<td>location in the buffer</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the created child anchor. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-create-mark"></a><h3>gtk_text_buffer_create_mark ()</h3>
<pre class="programlisting"><a class="link" href="GtkTextMark.html" title="GtkTextMark"><span class="returnvalue">GtkTextMark</span></a> *       gtk_text_buffer_create_mark         (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *mark_name</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *where</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> left_gravity</code></em>);</pre>
<p>
Creates a mark at position <em class="parameter"><code>where</code></em>. If <em class="parameter"><code>mark_name</code></em> is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, the mark
is anonymous; otherwise, the mark can be retrieved by name using
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-get-mark" title="gtk_text_buffer_get_mark ()"><code class="function">gtk_text_buffer_get_mark()</code></a>. If a mark has left gravity, and text is
inserted at the mark's current location, the mark will be moved to
the left of the newly-inserted text. If the mark has right gravity
(<em class="parameter"><code>left_gravity</code></em> = <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>), the mark will end up on the right of
newly-inserted text. The standard left-to-right cursor is a mark
with right gravity (when you type, the cursor stays on the right
side of the text you're typing).
</p>
<p>
The caller of this function does <span class="emphasis"><em>not</em></span> own a 
reference to the returned <a class="link" href="GtkTextMark.html" title="GtkTextMark"><span class="type">GtkTextMark</span></a>, so you can ignore the 
return value if you like. Marks are owned by the buffer and go 
away when the buffer does.
</p>
<p>
Emits the "mark-set" signal as notification of the mark's initial
placement.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>mark_name</code></em> :</span></p></td>
<td>name for mark, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>where</code></em> :</span></p></td>
<td>location to place mark</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>left_gravity</code></em> :</span></p></td>
<td>whether the mark has left gravity</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the new <a class="link" href="GtkTextMark.html" title="GtkTextMark"><span class="type">GtkTextMark</span></a> object. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-move-mark"></a><h3>gtk_text_buffer_move_mark ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_text_buffer_move_mark           (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextMark.html" title="GtkTextMark"><span class="type">GtkTextMark</span></a> *mark</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *where</code></em>);</pre>
<p>
Moves <em class="parameter"><code>mark</code></em> to the new location <em class="parameter"><code>where</code></em>. Emits the "mark-set" signal
as notification of the move.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>mark</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextMark.html" title="GtkTextMark"><span class="type">GtkTextMark</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>where</code></em> :</span></p></td>
<td>new location for <em class="parameter"><code>mark</code></em> in <em class="parameter"><code>buffer</code></em>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-move-mark-by-name"></a><h3>gtk_text_buffer_move_mark_by_name ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_text_buffer_move_mark_by_name   (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *where</code></em>);</pre>
<p>
Moves the mark named <em class="parameter"><code>name</code></em> (which must exist) to location <em class="parameter"><code>where</code></em>.
See <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-move-mark" title="gtk_text_buffer_move_mark ()"><code class="function">gtk_text_buffer_move_mark()</code></a> for details.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
<td>name of a mark</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>where</code></em> :</span></p></td>
<td>new location for mark</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-add-mark"></a><h3>gtk_text_buffer_add_mark ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_text_buffer_add_mark            (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextMark.html" title="GtkTextMark"><span class="type">GtkTextMark</span></a> *mark</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *where</code></em>);</pre>
<p>
Adds the mark at position <em class="parameter"><code>where</code></em>. The mark must not be added to
another buffer, and if its name is not <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> then there must not
be another mark in the buffer with the same name.
</p>
<p>
Emits the "mark-set" signal as notification of the mark's initial
placement.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>mark</code></em> :</span></p></td>
<td>the mark to add</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>where</code></em> :</span></p></td>
<td>location to place mark</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.12</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-delete-mark"></a><h3>gtk_text_buffer_delete_mark ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_text_buffer_delete_mark         (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextMark.html" title="GtkTextMark"><span class="type">GtkTextMark</span></a> *mark</code></em>);</pre>
<p>
Deletes <em class="parameter"><code>mark</code></em>, so that it's no longer located anywhere in the
buffer. Removes the reference the buffer holds to the mark, so if
you haven't called <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-ref"><code class="function">g_object_ref()</code></a> on the mark, it will be freed. Even
if the mark isn't freed, most operations on <em class="parameter"><code>mark</code></em> become
invalid, until it gets added to a buffer again with 
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-add-mark" title="gtk_text_buffer_add_mark ()"><code class="function">gtk_text_buffer_add_mark()</code></a>. Use <a class="link" href="GtkTextMark.html#gtk-text-mark-get-deleted" title="gtk_text_mark_get_deleted ()"><code class="function">gtk_text_mark_get_deleted()</code></a> to  
find out if a mark has been removed from its buffer.
The "mark-deleted" signal will be emitted as notification after 
the mark is deleted.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>mark</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextMark.html" title="GtkTextMark"><span class="type">GtkTextMark</span></a> in <em class="parameter"><code>buffer</code></em>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-delete-mark-by-name"></a><h3>gtk_text_buffer_delete_mark_by_name ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_text_buffer_delete_mark_by_name (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
<p>
Deletes the mark named <em class="parameter"><code>name</code></em>; the mark must exist. See
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-delete-mark" title="gtk_text_buffer_delete_mark ()"><code class="function">gtk_text_buffer_delete_mark()</code></a> for details.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
<td>name of a mark in <em class="parameter"><code>buffer</code></em>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-get-mark"></a><h3>gtk_text_buffer_get_mark ()</h3>
<pre class="programlisting"><a class="link" href="GtkTextMark.html" title="GtkTextMark"><span class="returnvalue">GtkTextMark</span></a> *       gtk_text_buffer_get_mark            (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>);</pre>
<p>
Returns the mark named <em class="parameter"><code>name</code></em> in buffer <em class="parameter"><code>buffer</code></em>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no such
mark exists in the buffer.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
<td>a mark name</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a <a class="link" href="GtkTextMark.html" title="GtkTextMark"><span class="type">GtkTextMark</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-get-insert"></a><h3>gtk_text_buffer_get_insert ()</h3>
<pre class="programlisting"><a class="link" href="GtkTextMark.html" title="GtkTextMark"><span class="returnvalue">GtkTextMark</span></a> *       gtk_text_buffer_get_insert          (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>);</pre>
<p>
Returns the mark that represents the cursor (insertion point).
Equivalent to calling <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-get-mark" title="gtk_text_buffer_get_mark ()"><code class="function">gtk_text_buffer_get_mark()</code></a> to get the mark
named "insert", but very slightly more efficient, and involves less
typing.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>insertion point mark. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-get-selection-bound"></a><h3>gtk_text_buffer_get_selection_bound ()</h3>
<pre class="programlisting"><a class="link" href="GtkTextMark.html" title="GtkTextMark"><span class="returnvalue">GtkTextMark</span></a> *       gtk_text_buffer_get_selection_bound (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>);</pre>
<p>
Returns the mark that represents the selection bound.  Equivalent
to calling <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-get-mark" title="gtk_text_buffer_get_mark ()"><code class="function">gtk_text_buffer_get_mark()</code></a> to get the mark named
"selection_bound", but very slightly more efficient, and involves
less typing.
</p>
<p>
The currently-selected text in <em class="parameter"><code>buffer</code></em> is the region between the
"selection_bound" and "insert" marks. If "selection_bound" and
"insert" are in the same place, then there is no current selection.
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-get-selection-bounds" title="gtk_text_buffer_get_selection_bounds ()"><code class="function">gtk_text_buffer_get_selection_bounds()</code></a> is another convenient function
for handling the selection, if you just want to know whether there's a
selection and what its bounds are.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>selection bound mark. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-get-has-selection"></a><h3>gtk_text_buffer_get_has_selection ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gtk_text_buffer_get_has_selection   (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>);</pre>
<p>
Indicates whether the buffer has some text currently selected.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the there is text selected</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.10</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-place-cursor"></a><h3>gtk_text_buffer_place_cursor ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_text_buffer_place_cursor        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *where</code></em>);</pre>
<p>
This function moves the "insert" and "selection_bound" marks
simultaneously.  If you move them to the same place in two steps
with <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-move-mark" title="gtk_text_buffer_move_mark ()"><code class="function">gtk_text_buffer_move_mark()</code></a>, you will temporarily select a
region in between their old and new locations, which can be pretty
inefficient since the temporarily-selected region will force stuff
to be recalculated. This function moves them as a unit, which can
be optimized.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>where</code></em> :</span></p></td>
<td>where to put the cursor</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-select-range"></a><h3>gtk_text_buffer_select_range ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_text_buffer_select_range        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *ins</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *bound</code></em>);</pre>
<p>
This function moves the "insert" and "selection_bound" marks
simultaneously.  If you move them in two steps
with <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-move-mark" title="gtk_text_buffer_move_mark ()"><code class="function">gtk_text_buffer_move_mark()</code></a>, you will temporarily select a
region in between their old and new locations, which can be pretty
inefficient since the temporarily-selected region will force stuff
to be recalculated. This function moves them as a unit, which can
be optimized.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>ins</code></em> :</span></p></td>
<td>where to put the "insert" mark</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>bound</code></em> :</span></p></td>
<td>where to put the "selection_bound" mark</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.4</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-apply-tag"></a><h3>gtk_text_buffer_apply_tag ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_text_buffer_apply_tag           (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextTag.html" title="GtkTextTag"><span class="type">GtkTextTag</span></a> *tag</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *start</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *end</code></em>);</pre>
<p>
Emits the "apply-tag" signal on <em class="parameter"><code>buffer</code></em>. The default
handler for the signal applies <em class="parameter"><code>tag</code></em> to the given range.
<em class="parameter"><code>start</code></em> and <em class="parameter"><code>end</code></em> do not have to be in order.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>tag</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextTag.html" title="GtkTextTag"><span class="type">GtkTextTag</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>start</code></em> :</span></p></td>
<td>one bound of range to be tagged</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>end</code></em> :</span></p></td>
<td>other bound of range to be tagged</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-remove-tag"></a><h3>gtk_text_buffer_remove_tag ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_text_buffer_remove_tag          (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextTag.html" title="GtkTextTag"><span class="type">GtkTextTag</span></a> *tag</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *start</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *end</code></em>);</pre>
<p>
Emits the "remove-tag" signal. The default handler for the signal
removes all occurrences of <em class="parameter"><code>tag</code></em> from the given range. <em class="parameter"><code>start</code></em> and
<em class="parameter"><code>end</code></em> don't have to be in order.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>tag</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextTag.html" title="GtkTextTag"><span class="type">GtkTextTag</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>start</code></em> :</span></p></td>
<td>one bound of range to be untagged</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>end</code></em> :</span></p></td>
<td>other bound of range to be untagged</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-apply-tag-by-name"></a><h3>gtk_text_buffer_apply_tag_by_name ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_text_buffer_apply_tag_by_name   (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *start</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *end</code></em>);</pre>
<p>
Calls <a class="link" href="GtkTextTagTable.html#gtk-text-tag-table-lookup" title="gtk_text_tag_table_lookup ()"><code class="function">gtk_text_tag_table_lookup()</code></a> on the buffer's tag table to
get a <a class="link" href="GtkTextTag.html" title="GtkTextTag"><span class="type">GtkTextTag</span></a>, then calls <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-apply-tag" title="gtk_text_buffer_apply_tag ()"><code class="function">gtk_text_buffer_apply_tag()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
<td>name of a named <a class="link" href="GtkTextTag.html" title="GtkTextTag"><span class="type">GtkTextTag</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>start</code></em> :</span></p></td>
<td>one bound of range to be tagged</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>end</code></em> :</span></p></td>
<td>other bound of range to be tagged</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-remove-tag-by-name"></a><h3>gtk_text_buffer_remove_tag_by_name ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_text_buffer_remove_tag_by_name  (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *name</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *start</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *end</code></em>);</pre>
<p>
Calls <a class="link" href="GtkTextTagTable.html#gtk-text-tag-table-lookup" title="gtk_text_tag_table_lookup ()"><code class="function">gtk_text_tag_table_lookup()</code></a> on the buffer's tag table to
get a <a class="link" href="GtkTextTag.html" title="GtkTextTag"><span class="type">GtkTextTag</span></a>, then calls <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-remove-tag" title="gtk_text_buffer_remove_tag ()"><code class="function">gtk_text_buffer_remove_tag()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>name</code></em> :</span></p></td>
<td>name of a <a class="link" href="GtkTextTag.html" title="GtkTextTag"><span class="type">GtkTextTag</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>start</code></em> :</span></p></td>
<td>one bound of range to be untagged</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>end</code></em> :</span></p></td>
<td>other bound of range to be untagged</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-remove-all-tags"></a><h3>gtk_text_buffer_remove_all_tags ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_text_buffer_remove_all_tags     (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *start</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *end</code></em>);</pre>
<p>
Removes all tags in the range between <em class="parameter"><code>start</code></em> and <em class="parameter"><code>end</code></em>.  Be careful
with this function; it could remove tags added in code unrelated to
the code you're currently writing. That is, using this function is
probably a bad idea if you have two or more unrelated code sections
that add tags.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>start</code></em> :</span></p></td>
<td>one bound of range to be untagged</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>end</code></em> :</span></p></td>
<td>other bound of range to be untagged</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-create-tag"></a><h3>gtk_text_buffer_create_tag ()</h3>
<pre class="programlisting"><a class="link" href="GtkTextTag.html" title="GtkTextTag"><span class="returnvalue">GtkTextTag</span></a> *        gtk_text_buffer_create_tag          (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *tag_name</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *first_property_name</code></em>,
                                                         <em class="parameter"><code>...</code></em>);</pre>
<p>
Creates a tag and adds it to the tag table for <em class="parameter"><code>buffer</code></em>.
Equivalent to calling <a class="link" href="GtkTextTag.html#gtk-text-tag-new" title="gtk_text_tag_new ()"><code class="function">gtk_text_tag_new()</code></a> and then adding the
tag to the buffer's tag table. The returned tag is owned by
the buffer's tag table, so the ref count will be equal to one.
</p>
<p>
If <em class="parameter"><code>tag_name</code></em> is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, the tag is anonymous.
</p>
<p>
If <em class="parameter"><code>tag_name</code></em> is non-<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, a tag called <em class="parameter"><code>tag_name</code></em> must not already
exist in the tag table for this buffer.
</p>
<p>
The <em class="parameter"><code>first_property_name</code></em> argument and subsequent arguments are a list
of properties to set on the tag, as with <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-set"><code class="function">g_object_set()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>tag_name</code></em> :</span></p></td>
<td>name of the new tag, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>first_property_name</code></em> :</span></p></td>
<td>name of first property to set, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a new tag. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-get-iter-at-line-offset"></a><h3>gtk_text_buffer_get_iter_at_line_offset ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_text_buffer_get_iter_at_line_offset
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> line_number</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> char_offset</code></em>);</pre>
<p>
Obtains an iterator pointing to <em class="parameter"><code>char_offset</code></em> within the given
line. The <em class="parameter"><code>char_offset</code></em> must exist, offsets off the end of the line
are not allowed. Note <span class="emphasis"><em>characters</em></span>, not bytes;
UTF-8 may encode one character as multiple bytes.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
<td>iterator to initialize. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>line_number</code></em> :</span></p></td>
<td>line number counting from 0</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>char_offset</code></em> :</span></p></td>
<td>char offset from start of line</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-get-iter-at-offset"></a><h3>gtk_text_buffer_get_iter_at_offset ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_text_buffer_get_iter_at_offset  (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> char_offset</code></em>);</pre>
<p>
Initializes <em class="parameter"><code>iter</code></em> to a position <em class="parameter"><code>char_offset</code></em> chars from the start
of the entire buffer. If <em class="parameter"><code>char_offset</code></em> is -1 or greater than the number
of characters in the buffer, <em class="parameter"><code>iter</code></em> is initialized to the end iterator,
the iterator one past the last valid character in the buffer.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
<td>iterator to initialize. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>char_offset</code></em> :</span></p></td>
<td>char offset from start of buffer, counting from 0, or -1</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-get-iter-at-line"></a><h3>gtk_text_buffer_get_iter_at_line ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_text_buffer_get_iter_at_line    (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> line_number</code></em>);</pre>
<p>
Initializes <em class="parameter"><code>iter</code></em> to the start of the given line.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
<td>iterator to initialize. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>line_number</code></em> :</span></p></td>
<td>line number counting from 0</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-get-iter-at-line-index"></a><h3>gtk_text_buffer_get_iter_at_line_index ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_text_buffer_get_iter_at_line_index
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> line_number</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> byte_index</code></em>);</pre>
<p>
Obtains an iterator pointing to <em class="parameter"><code>byte_index</code></em> within the given line.
<em class="parameter"><code>byte_index</code></em> must be the start of a UTF-8 character, and must not be
beyond the end of the line.  Note <span class="emphasis"><em>bytes</em></span>, not
characters; UTF-8 may encode one character as multiple bytes.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
<td>iterator to initialize. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>line_number</code></em> :</span></p></td>
<td>line number counting from 0</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>byte_index</code></em> :</span></p></td>
<td>byte index from start of line</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-get-iter-at-mark"></a><h3>gtk_text_buffer_get_iter_at_mark ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_text_buffer_get_iter_at_mark    (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextMark.html" title="GtkTextMark"><span class="type">GtkTextMark</span></a> *mark</code></em>);</pre>
<p>
Initializes <em class="parameter"><code>iter</code></em> with the current position of <em class="parameter"><code>mark</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
<td>iterator to initialize. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>mark</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextMark.html" title="GtkTextMark"><span class="type">GtkTextMark</span></a> in <em class="parameter"><code>buffer</code></em>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-get-iter-at-child-anchor"></a><h3>gtk_text_buffer_get_iter_at_child_anchor ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_text_buffer_get_iter_at_child_anchor
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextView.html#GtkTextChildAnchor"><span class="type">GtkTextChildAnchor</span></a> *anchor</code></em>);</pre>
<p>
Obtains the location of <em class="parameter"><code>anchor</code></em> within <em class="parameter"><code>buffer</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
<td>an iterator to be initialized. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>anchor</code></em> :</span></p></td>
<td>a child anchor that appears in <em class="parameter"><code>buffer</code></em>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-get-start-iter"></a><h3>gtk_text_buffer_get_start_iter ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_text_buffer_get_start_iter      (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *iter</code></em>);</pre>
<p>
Initialized <em class="parameter"><code>iter</code></em> with the first position in the text buffer. This
is the same as using <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-get-iter-at-offset" title="gtk_text_buffer_get_iter_at_offset ()"><code class="function">gtk_text_buffer_get_iter_at_offset()</code></a> to get
the iter at character offset 0.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
<td>iterator to initialize. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-get-end-iter"></a><h3>gtk_text_buffer_get_end_iter ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_text_buffer_get_end_iter        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *iter</code></em>);</pre>
<p>
Initializes <em class="parameter"><code>iter</code></em> with the "end iterator," one past the last valid
character in the text buffer. If dereferenced with
<a class="link" href="GtkTextIter.html#gtk-text-iter-get-char" title="gtk_text_iter_get_char ()"><code class="function">gtk_text_iter_get_char()</code></a>, the end iterator has a character value of
0. The entire buffer lies in the range from the first position in
the buffer (call <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-get-start-iter" title="gtk_text_buffer_get_start_iter ()"><code class="function">gtk_text_buffer_get_start_iter()</code></a> to get
character position 0) to the end iterator.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
<td>iterator to initialize. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-get-bounds"></a><h3>gtk_text_buffer_get_bounds ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_text_buffer_get_bounds          (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *start</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *end</code></em>);</pre>
<p>
Retrieves the first and last iterators in the buffer, i.e. the
entire buffer lies within the range [<em class="parameter"><code>start</code></em>,<em class="parameter"><code>end</code></em>).
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>start</code></em> :</span></p></td>
<td>iterator to initialize with first position in the buffer. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>end</code></em> :</span></p></td>
<td>iterator to initialize with the end iterator. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-get-modified"></a><h3>gtk_text_buffer_get_modified ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gtk_text_buffer_get_modified        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>);</pre>
<p>
Indicates whether the buffer has been modified since the last call
to <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-set-modified" title="gtk_text_buffer_set_modified ()"><code class="function">gtk_text_buffer_set_modified()</code></a> set the modification flag to
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>. Used for example to enable a "save" function in a text
editor.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if the buffer has been modified</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-set-modified"></a><h3>gtk_text_buffer_set_modified ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_text_buffer_set_modified        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> setting</code></em>);</pre>
<p>
Used to keep track of whether the buffer has been modified since the
last time it was saved. Whenever the buffer is saved to disk, call
gtk_text_buffer_set_modified (<em class="parameter"><code>buffer</code></em>, FALSE). When the buffer is modified,
it will automatically toggled on the modified bit again. When the modified
bit flips, the buffer emits a "modified-changed" signal.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>setting</code></em> :</span></p></td>
<td>modification flag setting</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-delete-selection"></a><h3>gtk_text_buffer_delete_selection ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gtk_text_buffer_delete_selection    (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> interactive</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> default_editable</code></em>);</pre>
<p>
Deletes the range between the "insert" and "selection_bound" marks,
that is, the currently-selected text. If <em class="parameter"><code>interactive</code></em> is <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a>,
the editability of the selection will be considered (users can't delete
uneditable text).
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>interactive</code></em> :</span></p></td>
<td>whether the deletion is caused by user interaction</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>default_editable</code></em> :</span></p></td>
<td>whether the buffer is editable by default</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>whether there was a non-empty selection to delete</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-paste-clipboard"></a><h3>gtk_text_buffer_paste_clipboard ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_text_buffer_paste_clipboard     (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gtk-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *override_location</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> default_editable</code></em>);</pre>
<p>
Pastes the contents of a clipboard at the insertion point, or
at <em class="parameter"><code>override_location</code></em>. (Note: pasting is asynchronous, that is,
we'll ask for the paste data and return, and at some point later
after the main loop runs, the paste data will be inserted.)
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>clipboard</code></em> :</span></p></td>
<td>the <a class="link" href="gtk-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> to paste from</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>override_location</code></em> :</span></p></td>
<td>location to insert pasted text, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for
at the cursor. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>default_editable</code></em> :</span></p></td>
<td>whether the buffer is editable by default</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-copy-clipboard"></a><h3>gtk_text_buffer_copy_clipboard ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_text_buffer_copy_clipboard      (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gtk-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>);</pre>
<p>
Copies the currently-selected text to a clipboard.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>clipboard</code></em> :</span></p></td>
<td>the <a class="link" href="gtk-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> object to copy to</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-cut-clipboard"></a><h3>gtk_text_buffer_cut_clipboard ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_text_buffer_cut_clipboard       (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gtk-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> default_editable</code></em>);</pre>
<p>
Copies the currently-selected text to a clipboard, then deletes
said text if it's editable.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>clipboard</code></em> :</span></p></td>
<td>the <a class="link" href="gtk-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> object to cut to</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>default_editable</code></em> :</span></p></td>
<td>default editability of the buffer</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-get-selection-bounds"></a><h3>gtk_text_buffer_get_selection_bounds ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gtk_text_buffer_get_selection_bounds
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *start</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *end</code></em>);</pre>
<p>
Returns <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if some text is selected; places the bounds
of the selection in <em class="parameter"><code>start</code></em> and <em class="parameter"><code>end</code></em> (if the selection has length 0,
then <em class="parameter"><code>start</code></em> and <em class="parameter"><code>end</code></em> are filled in with the same value).
<em class="parameter"><code>start</code></em> and <em class="parameter"><code>end</code></em> will be in ascending order. If <em class="parameter"><code>start</code></em> and <em class="parameter"><code>end</code></em> are
NULL, then they are not filled in, but the return value still indicates
whether text is selected.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>start</code></em> :</span></p></td>
<td>iterator to initialize with selection start. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>end</code></em> :</span></p></td>
<td>iterator to initialize with selection end. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>whether the selection has nonzero length</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-begin-user-action"></a><h3>gtk_text_buffer_begin_user_action ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_text_buffer_begin_user_action   (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>);</pre>
<p>
Called to indicate that the buffer operations between here and a
call to <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-end-user-action" title="gtk_text_buffer_end_user_action ()"><code class="function">gtk_text_buffer_end_user_action()</code></a> are part of a single
user-visible operation. The operations between
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-begin-user-action" title="gtk_text_buffer_begin_user_action ()"><code class="function">gtk_text_buffer_begin_user_action()</code></a> and
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-end-user-action" title="gtk_text_buffer_end_user_action ()"><code class="function">gtk_text_buffer_end_user_action()</code></a> can then be grouped when creating
an undo stack. <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> maintains a count of calls to
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-begin-user-action" title="gtk_text_buffer_begin_user_action ()"><code class="function">gtk_text_buffer_begin_user_action()</code></a> that have not been closed with
a call to <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-end-user-action" title="gtk_text_buffer_end_user_action ()"><code class="function">gtk_text_buffer_end_user_action()</code></a>, and emits the 
"begin-user-action" and "end-user-action" signals only for the 
outermost pair of calls. This allows you to build user actions 
from other user actions.
</p>
<p>
The "interactive" buffer mutation functions, such as
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-insert-interactive" title="gtk_text_buffer_insert_interactive ()"><code class="function">gtk_text_buffer_insert_interactive()</code></a>, automatically call begin/end
user action around the buffer operations they perform, so there's
no need to add extra calls if you user action consists solely of a
single call to one of those functions.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-end-user-action"></a><h3>gtk_text_buffer_end_user_action ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_text_buffer_end_user_action     (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>);</pre>
<p>
Should be paired with a call to <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-begin-user-action" title="gtk_text_buffer_begin_user_action ()"><code class="function">gtk_text_buffer_begin_user_action()</code></a>.
See that function for a full explanation.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr></tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-add-selection-clipboard"></a><h3>gtk_text_buffer_add_selection_clipboard ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_text_buffer_add_selection_clipboard
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gtk-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>);</pre>
<p>
Adds <em class="parameter"><code>clipboard</code></em> to the list of clipboards in which the selection 
contents of <em class="parameter"><code>buffer</code></em> are available. In most cases, <em class="parameter"><code>clipboard</code></em> will be 
the <a class="link" href="gtk-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> of type <a href="../gdk/gdk-Selections.html#GDK-SELECTION-PRIMARY:CAPS"><code class="literal">GDK_SELECTION_PRIMARY</code></a> for a view of <em class="parameter"><code>buffer</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>clipboard</code></em> :</span></p></td>
<td>a <a class="link" href="gtk-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-remove-selection-clipboard"></a><h3>gtk_text_buffer_remove_selection_clipboard ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_text_buffer_remove_selection_clipboard
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="gtk-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> *clipboard</code></em>);</pre>
<p>
Removes a <a class="link" href="gtk-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> added with 
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-add-selection-clipboard" title="gtk_text_buffer_add_selection_clipboard ()"><code class="function">gtk_text_buffer_add_selection_clipboard()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>clipboard</code></em> :</span></p></td>
<td>a <a class="link" href="gtk-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a> added to <em class="parameter"><code>buffer</code></em> by
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-add-selection-clipboard" title="gtk_text_buffer_add_selection_clipboard ()"><code class="function">gtk_text_buffer_add_selection_clipboard()</code></a>
</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GtkTextBufferTargetInfo"></a><h3>enum GtkTextBufferTargetInfo</h3>
<pre class="programlisting">typedef enum {
  GTK_TEXT_BUFFER_TARGET_INFO_BUFFER_CONTENTS = - 1,
  GTK_TEXT_BUFFER_TARGET_INFO_RICH_TEXT       = - 2,
  GTK_TEXT_BUFFER_TARGET_INFO_TEXT            = - 3
} GtkTextBufferTargetInfo;
</pre>
<p>
</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkTextBufferDeserializeFunc"></a><h3>GtkTextBufferDeserializeFunc ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            (*GtkTextBufferDeserializeFunc)     (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *register_buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *content_buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *data</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> length</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> create_tags</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
<p>
A function that is called to deserialize rich text that has been
serialized with <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-serialize" title="gtk_text_buffer_serialize ()"><code class="function">gtk_text_buffer_serialize()</code></a>, and insert it at <em class="parameter"><code>iter</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>register_buffer</code></em> :</span></p></td>
<td>the <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> the format is registered with</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>content_buffer</code></em> :</span></p></td>
<td>the <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> to deserialize into</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
<td>insertion point for the deserialized text</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
<td>data to deserialize</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td>
<td>length of <code class="literal">data</code>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>create_tags</code></em> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if deserializing may create tags</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data that was specified when registering the format</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>return location for a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-deserialize"></a><h3>gtk_text_buffer_deserialize ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gtk_text_buffer_deserialize         (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *register_buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *content_buffer</code></em>,
                                                         <em class="parameter"><code><a href="../gdk/gdk-Properties-and-Atoms.html#GdkAtom"><span class="type">GdkAtom</span></a> format</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *iter</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="type">guint8</span></a> *data</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> length</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
<p>
This function deserializes rich text in format <em class="parameter"><code>format</code></em> and inserts
it at <em class="parameter"><code>iter</code></em>.
</p>
<p>
<em class="parameter"><code>format</code></em>s to be used must be registered using
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-register-deserialize-format" title="gtk_text_buffer_register_deserialize_format ()"><code class="function">gtk_text_buffer_register_deserialize_format()</code></a> or
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-register-deserialize-tagset" title="gtk_text_buffer_register_deserialize_tagset ()"><code class="function">gtk_text_buffer_register_deserialize_tagset()</code></a> beforehand.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>register_buffer</code></em> :</span></p></td>
<td>the <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> <em class="parameter"><code>format</code></em> is registered with</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>content_buffer</code></em> :</span></p></td>
<td>the <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> to deserialize into</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
<td>the rich text format to use for deserializing</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>iter</code></em> :</span></p></td>
<td>insertion point for the deserialized text</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>data</code></em> :</span></p></td>
<td>data to deserialize. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=length]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td>
<td>length of <em class="parameter"><code>data</code></em>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em> :</span></p></td>
<td>return location for a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>
<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.10</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-deserialize-get-can-create-tags"></a><h3>gtk_text_buffer_deserialize_get_can_create_tags ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a>            gtk_text_buffer_deserialize_get_can_create_tags
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a href="../gdk/gdk-Properties-and-Atoms.html#GdkAtom"><span class="type">GdkAtom</span></a> format</code></em>);</pre>
<p>
This functions returns the value set with
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-deserialize-set-can-create-tags" title="gtk_text_buffer_deserialize_set_can_create_tags ()"><code class="function">gtk_text_buffer_deserialize_set_can_create_tags()</code></a>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
<td>a <a href="../gdk/gdk-Properties-and-Atoms.html#GdkAtom"><span class="type">GdkAtom</span></a> representing a registered rich text format</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>whether deserializing this format may create tags</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.10</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-deserialize-set-can-create-tags"></a><h3>gtk_text_buffer_deserialize_set_can_create_tags ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_text_buffer_deserialize_set_can_create_tags
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a href="../gdk/gdk-Properties-and-Atoms.html#GdkAtom"><span class="type">GdkAtom</span></a> format</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> can_create_tags</code></em>);</pre>
<p>
Use this function to allow a rich text deserialization function to
create new tags in the receiving buffer. Note that using this
function is almost always a bad idea, because the rich text
functions you register should know how to map the rich text format
they handler to your text buffers set of tags.
</p>
<p>
The ability of creating new (arbitrary!) tags in the receiving buffer
is meant for special rich text formats like the internal one that
is registered using <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-register-deserialize-tagset" title="gtk_text_buffer_register_deserialize_tagset ()"><code class="function">gtk_text_buffer_register_deserialize_tagset()</code></a>,
because that format is essentially a dump of the internal structure
of the source buffer, including its tag names.
</p>
<p>
You should allow creation of tags only if you know what you are
doing, e.g. if you defined a tagset name for your application
suite's text buffers and you know that it's fine to receive new
tags from these buffers, because you know that your application can
handle the newly created tags.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
<td>a <a href="../gdk/gdk-Properties-and-Atoms.html#GdkAtom"><span class="type">GdkAtom</span></a> representing a registered rich text format</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>can_create_tags</code></em> :</span></p></td>
<td>whether deserializing this format may create tags</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.10</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-get-copy-target-list"></a><h3>gtk_text_buffer_get_copy_target_list ()</h3>
<pre class="programlisting"><a class="link" href="gtk-Selections.html#GtkTargetList"><span class="returnvalue">GtkTargetList</span></a> *     gtk_text_buffer_get_copy_target_list
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>);</pre>
<p>
This function returns the list of targets this text buffer can
provide for copying and as DND source. The targets in the list are
added with <code class="literal">info</code> values from the <a class="link" href="GtkTextBuffer.html#GtkTextBufferTargetInfo" title="enum GtkTextBufferTargetInfo"><span class="type">GtkTextBufferTargetInfo</span></a> enum,
using <a class="link" href="gtk-Selections.html#gtk-target-list-add-rich-text-targets" title="gtk_target_list_add_rich_text_targets ()"><code class="function">gtk_target_list_add_rich_text_targets()</code></a> and
<a class="link" href="gtk-Selections.html#gtk-target-list-add-text-targets" title="gtk_target_list_add_text_targets ()"><code class="function">gtk_target_list_add_text_targets()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the <a class="link" href="gtk-Selections.html#GtkTargetList"><span class="type">GtkTargetList</span></a>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.10</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-get-deserialize-formats"></a><h3>gtk_text_buffer_get_deserialize_formats ()</h3>
<pre class="programlisting"><a href="../gdk/gdk-Properties-and-Atoms.html#GdkAtom"><span class="returnvalue">GdkAtom</span></a> *           gtk_text_buffer_get_deserialize_formats
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *n_formats</code></em>);</pre>
<p>
This function returns the rich text deserialize formats registered
with <em class="parameter"><code>buffer</code></em> using <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-register-deserialize-format" title="gtk_text_buffer_register_deserialize_format ()"><code class="function">gtk_text_buffer_register_deserialize_format()</code></a> or
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-register-deserialize-tagset" title="gtk_text_buffer_register_deserialize_tagset ()"><code class="function">gtk_text_buffer_register_deserialize_tagset()</code></a>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>n_formats</code></em> :</span></p></td>
<td>return location for the number of formats</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>an array of
<a href="../gdk/gdk-Properties-and-Atoms.html#GdkAtom"><span class="type">GdkAtom</span></a>s representing the registered formats. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_formats][<acronym title="Free data container after the code is done."><span class="acronym">transfer container</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.10</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-get-paste-target-list"></a><h3>gtk_text_buffer_get_paste_target_list ()</h3>
<pre class="programlisting"><a class="link" href="gtk-Selections.html#GtkTargetList"><span class="returnvalue">GtkTargetList</span></a> *     gtk_text_buffer_get_paste_target_list
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>);</pre>
<p>
This function returns the list of targets this text buffer supports
for pasting and as DND destination. The targets in the list are
added with <code class="literal">info</code> values from the <a class="link" href="GtkTextBuffer.html#GtkTextBufferTargetInfo" title="enum GtkTextBufferTargetInfo"><span class="type">GtkTextBufferTargetInfo</span></a> enum,
using <a class="link" href="gtk-Selections.html#gtk-target-list-add-rich-text-targets" title="gtk_target_list_add_rich_text_targets ()"><code class="function">gtk_target_list_add_rich_text_targets()</code></a> and
<a class="link" href="gtk-Selections.html#gtk-target-list-add-text-targets" title="gtk_target_list_add_text_targets ()"><code class="function">gtk_target_list_add_text_targets()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the <a class="link" href="gtk-Selections.html#GtkTargetList"><span class="type">GtkTargetList</span></a>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.10</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-get-serialize-formats"></a><h3>gtk_text_buffer_get_serialize_formats ()</h3>
<pre class="programlisting"><a href="../gdk/gdk-Properties-and-Atoms.html#GdkAtom"><span class="returnvalue">GdkAtom</span></a> *           gtk_text_buffer_get_serialize_formats
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a> *n_formats</code></em>);</pre>
<p>
This function returns the rich text serialize formats registered
with <em class="parameter"><code>buffer</code></em> using <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-register-serialize-format" title="gtk_text_buffer_register_serialize_format ()"><code class="function">gtk_text_buffer_register_serialize_format()</code></a> or
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-register-serialize-tagset" title="gtk_text_buffer_register_serialize_tagset ()"><code class="function">gtk_text_buffer_register_serialize_tagset()</code></a>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>n_formats</code></em> :</span></p></td>
<td>return location for the number of formats</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>an array of
<a href="../gdk/gdk-Properties-and-Atoms.html#GdkAtom"><span class="type">GdkAtom</span></a>s representing the registered formats. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=n_formats][<acronym title="Free data container after the code is done."><span class="acronym">transfer container</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.10</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-register-deserialize-format"></a><h3>gtk_text_buffer_register_deserialize_format ()</h3>
<pre class="programlisting"><a href="../gdk/gdk-Properties-and-Atoms.html#GdkAtom"><span class="returnvalue">GdkAtom</span></a>             gtk_text_buffer_register_deserialize_format
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *mime_type</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextBuffer.html#GtkTextBufferDeserializeFunc" title="GtkTextBufferDeserializeFunc ()"><span class="type">GtkTextBufferDeserializeFunc</span></a> function</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> user_data_destroy</code></em>);</pre>
<p>
This function registers a rich text deserialization <em class="parameter"><code>function</code></em> along with
its <em class="parameter"><code>mime_type</code></em> with the passed <em class="parameter"><code>buffer</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>mime_type</code></em> :</span></p></td>
<td>the format's mime-type</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>function</code></em> :</span></p></td>
<td>the deserialize function to register</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>
<em class="parameter"><code>function</code></em>'s user_data</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data_destroy</code></em> :</span></p></td>
<td>a function to call when <em class="parameter"><code>user_data</code></em> is no longer needed</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the <a href="../gdk/gdk-Properties-and-Atoms.html#GdkAtom"><span class="type">GdkAtom</span></a> that corresponds to the
newly registered format's mime-type. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.10</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-register-deserialize-tagset"></a><h3>gtk_text_buffer_register_deserialize_tagset ()</h3>
<pre class="programlisting"><a href="../gdk/gdk-Properties-and-Atoms.html#GdkAtom"><span class="returnvalue">GdkAtom</span></a>             gtk_text_buffer_register_deserialize_tagset
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *tagset_name</code></em>);</pre>
<p>
This function registers GTK+'s internal rich text serialization
format with the passed <em class="parameter"><code>buffer</code></em>. See
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-register-serialize-tagset" title="gtk_text_buffer_register_serialize_tagset ()"><code class="function">gtk_text_buffer_register_serialize_tagset()</code></a> for details.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>tagset_name</code></em> :</span></p></td>
<td>an optional tagset name, on <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the <a href="../gdk/gdk-Properties-and-Atoms.html#GdkAtom"><span class="type">GdkAtom</span></a> that corresponds to the
newly registered format's mime-type. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.10</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-register-serialize-format"></a><h3>gtk_text_buffer_register_serialize_format ()</h3>
<pre class="programlisting"><a href="../gdk/gdk-Properties-and-Atoms.html#GdkAtom"><span class="returnvalue">GdkAtom</span></a>             gtk_text_buffer_register_serialize_format
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *mime_type</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextBuffer.html#GtkTextBufferSerializeFunc" title="GtkTextBufferSerializeFunc ()"><span class="type">GtkTextBufferSerializeFunc</span></a> function</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Datasets.html#GDestroyNotify"><span class="type">GDestroyNotify</span></a> user_data_destroy</code></em>);</pre>
<p>
This function registers a rich text serialization <em class="parameter"><code>function</code></em> along with
its <em class="parameter"><code>mime_type</code></em> with the passed <em class="parameter"><code>buffer</code></em>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>mime_type</code></em> :</span></p></td>
<td>the format's mime-type</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>function</code></em> :</span></p></td>
<td>the serialize function to register</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>
<code class="literal">function</code>'s user_data</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data_destroy</code></em> :</span></p></td>
<td>a function to call when <em class="parameter"><code>user_data</code></em> is no longer needed</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the <a href="../gdk/gdk-Properties-and-Atoms.html#GdkAtom"><span class="type">GdkAtom</span></a> that corresponds to the
newly registered format's mime-type. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.10</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-register-serialize-tagset"></a><h3>gtk_text_buffer_register_serialize_tagset ()</h3>
<pre class="programlisting"><a href="../gdk/gdk-Properties-and-Atoms.html#GdkAtom"><span class="returnvalue">GdkAtom</span></a>             gtk_text_buffer_register_serialize_tagset
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *tagset_name</code></em>);</pre>
<p>
This function registers GTK+'s internal rich text serialization
format with the passed <em class="parameter"><code>buffer</code></em>. The internal format does not comply
to any standard rich text format and only works between <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
instances. It is capable of serializing all of a text buffer's tags
and embedded pixbufs.
</p>
<p>
This function is just a wrapper around
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-register-serialize-format" title="gtk_text_buffer_register_serialize_format ()"><code class="function">gtk_text_buffer_register_serialize_format()</code></a>. The mime type used
for registering is "application/x-gtk-text-buffer-rich-text", or
"application/x-gtk-text-buffer-rich-text;format=<em class="parameter"><code>tagset_name</code></em>" if a
<em class="parameter"><code>tagset_name</code></em> was passed.
</p>
<p>
The <em class="parameter"><code>tagset_name</code></em> can be used to restrict the transfer of rich text
to buffers with compatible sets of tags, in order to avoid unknown
tags from being pasted. It is probably the common case to pass an
identifier != <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> here, since the <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> tagset requires the
receiving buffer to deal with with pasting of arbitrary tags.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>tagset_name</code></em> :</span></p></td>
<td>an optional tagset name, on <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the <a href="../gdk/gdk-Properties-and-Atoms.html#GdkAtom"><span class="type">GdkAtom</span></a> that corresponds to the
newly registered format's mime-type. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.10</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkTextBufferSerializeFunc"></a><h3>GtkTextBufferSerializeFunc ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="returnvalue">guint8</span></a> *            (*GtkTextBufferSerializeFunc)       (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *register_buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *content_buffer</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *start</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *end</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> *length</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
<p>
A function that is called to serialize the content of a text buffer.
It must return the serialized form of the content.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>register_buffer</code></em> :</span></p></td>
<td>the <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> for which the format is registered</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>content_buffer</code></em> :</span></p></td>
<td>the <span class="type">GtkTextsBuffer</span> to serialize</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>start</code></em> :</span></p></td>
<td>start of the block of text to serialize</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>end</code></em> :</span></p></td>
<td>end of the block of text to serialize</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td>
<td>Return location for the length of the serialized data</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data that was specified when registering the format</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>a newly-allocated array of guint8 which contains the serialized
data, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if an error occurred</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-serialize"></a><h3>gtk_text_buffer_serialize ()</h3>
<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint8"><span class="returnvalue">guint8</span></a> *            gtk_text_buffer_serialize           (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *register_buffer</code></em>,
                                                         <em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *content_buffer</code></em>,
                                                         <em class="parameter"><code><a href="../gdk/gdk-Properties-and-Atoms.html#GdkAtom"><span class="type">GdkAtom</span></a> format</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *start</code></em>,
                                                         <em class="parameter"><code>const <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a> *end</code></em>,
                                                         <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gsize"><span class="type">gsize</span></a> *length</code></em>);</pre>
<p>
This function serializes the portion of text between <em class="parameter"><code>start</code></em>
and <em class="parameter"><code>end</code></em> in the rich text format represented by <em class="parameter"><code>format</code></em>.
</p>
<p>
<em class="parameter"><code>format</code></em>s to be used must be registered using
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-register-serialize-format" title="gtk_text_buffer_register_serialize_format ()"><code class="function">gtk_text_buffer_register_serialize_format()</code></a> or
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-register-serialize-tagset" title="gtk_text_buffer_register_serialize_tagset ()"><code class="function">gtk_text_buffer_register_serialize_tagset()</code></a> beforehand.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>register_buffer</code></em> :</span></p></td>
<td>the <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> <em class="parameter"><code>format</code></em> is registered with</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>content_buffer</code></em> :</span></p></td>
<td>the <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> to serialize</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
<td>the rich text format to use for serializing</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>start</code></em> :</span></p></td>
<td>start of block of text to serialize</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>end</code></em> :</span></p></td>
<td>end of block of test to serialize</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>length</code></em> :</span></p></td>
<td>return location for the length of the serialized data</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></p></td>
<td>the serialized
data, encoded as <em class="parameter"><code>format</code></em>. <span class="annotation">[<acronym title="Parameter points to an array of items."><span class="acronym">array</span></acronym> length=length][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.10</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-unregister-deserialize-format"></a><h3>gtk_text_buffer_unregister_deserialize_format ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_text_buffer_unregister_deserialize_format
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a href="../gdk/gdk-Properties-and-Atoms.html#GdkAtom"><span class="type">GdkAtom</span></a> format</code></em>);</pre>
<p>
This function unregisters a rich text format that was previously
registered using <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-register-deserialize-format" title="gtk_text_buffer_register_deserialize_format ()"><code class="function">gtk_text_buffer_register_deserialize_format()</code></a> or
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-register-deserialize-tagset" title="gtk_text_buffer_register_deserialize_tagset ()"><code class="function">gtk_text_buffer_register_deserialize_tagset()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
<td>a <a href="../gdk/gdk-Properties-and-Atoms.html#GdkAtom"><span class="type">GdkAtom</span></a> representing a registered rich text format.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.10</p>
</div>
<hr>
<div class="refsect2">
<a name="gtk-text-buffer-unregister-serialize-format"></a><h3>gtk_text_buffer_unregister_serialize_format ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                gtk_text_buffer_unregister_serialize_format
                                                        (<em class="parameter"><code><a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *buffer</code></em>,
                                                         <em class="parameter"><code><a href="../gdk/gdk-Properties-and-Atoms.html#GdkAtom"><span class="type">GdkAtom</span></a> format</code></em>);</pre>
<p>
This function unregisters a rich text format that was previously
registered using <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-register-serialize-format" title="gtk_text_buffer_register_serialize_format ()"><code class="function">gtk_text_buffer_register_serialize_format()</code></a> or
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-register-serialize-tagset" title="gtk_text_buffer_register_serialize_tagset ()"><code class="function">gtk_text_buffer_register_serialize_tagset()</code></a>
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>buffer</code></em> :</span></p></td>
<td>a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>format</code></em> :</span></p></td>
<td>a <a href="../gdk/gdk-Properties-and-Atoms.html#GdkAtom"><span class="type">GdkAtom</span></a> representing a registered rich text format.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.10</p>
</div>
</div>
<div class="refsect1">
<a name="GtkTextBuffer.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
<a name="GtkTextBuffer--copy-target-list"></a><h3>The <code class="literal">"copy-target-list"</code> property</h3>
<pre class="programlisting">  "copy-target-list"         <a class="link" href="gtk-Selections.html#GtkTargetList"><span class="type">GtkTargetList</span></a>*        : Read</pre>
<p>
The list of targets this buffer supports for clipboard copying
and as DND source.
</p>
<p class="since">Since 2.10</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkTextBuffer--cursor-position"></a><h3>The <code class="literal">"cursor-position"</code> property</h3>
<pre class="programlisting">  "cursor-position"          <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>                  : Read</pre>
<p>
The position of the insert mark (as offset from the beginning
of the buffer). It is useful for getting notified when the 
cursor moves.
</p>
<p>Allowed values: &gt;= 0</p>
<p>Default value: 0</p>
<p class="since">Since 2.10</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkTextBuffer--has-selection"></a><h3>The <code class="literal">"has-selection"</code> property</h3>
<pre class="programlisting">  "has-selection"            <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>              : Read</pre>
<p>
Whether the buffer has some text currently selected.
</p>
<p>Default value: FALSE</p>
<p class="since">Since 2.10</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkTextBuffer--paste-target-list"></a><h3>The <code class="literal">"paste-target-list"</code> property</h3>
<pre class="programlisting">  "paste-target-list"        <a class="link" href="gtk-Selections.html#GtkTargetList"><span class="type">GtkTargetList</span></a>*        : Read</pre>
<p>
The list of targets this buffer supports for clipboard pasting
and as DND destination.
</p>
<p class="since">Since 2.10</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkTextBuffer--tag-table"></a><h3>The <code class="literal">"tag-table"</code> property</h3>
<pre class="programlisting">  "tag-table"                <a class="link" href="GtkTextTagTable.html" title="GtkTextTagTable"><span class="type">GtkTextTagTable</span></a>*      : Read / Write / Construct Only</pre>
<p>Text Tag Table.</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkTextBuffer--text"></a><h3>The <code class="literal">"text"</code> property</h3>
<pre class="programlisting">  "text"                     <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>*                : Read / Write</pre>
<p>
The text content of the buffer. Without child widgets and images,
see <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-get-text" title="gtk_text_buffer_get_text ()"><code class="function">gtk_text_buffer_get_text()</code></a> for more information.
</p>
<p>Default value: ""</p>
<p class="since">Since 2.8</p>
</div>
</div>
<div class="refsect1">
<a name="GtkTextBuffer.signal-details"></a><h2>Signal Details</h2>
<div class="refsect2">
<a name="GtkTextBuffer-apply-tag"></a><h3>The <code class="literal">"apply-tag"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *textbuffer,
                                                        <a class="link" href="GtkTextTag.html" title="GtkTextTag"><span class="type">GtkTextTag</span></a>    *tag,
                                                        <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a>   *start,
                                                        <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a>   *end,
                                                        <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>       user_data)       : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
<p>
The ::apply-tag signal is emitted to apply a tag to a
range of text in a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>.
Applying actually occurs in the default handler.
</p>
<p>
Note that if your handler runs before the default handler it must not 
invalidate the <em class="parameter"><code>start</code></em> and <em class="parameter"><code>end</code></em> iters (or has to revalidate them). 
</p>
<p>
See also: 
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-apply-tag" title="gtk_text_buffer_apply_tag ()"><code class="function">gtk_text_buffer_apply_tag()</code></a>,
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-insert-with-tags" title="gtk_text_buffer_insert_with_tags ()"><code class="function">gtk_text_buffer_insert_with_tags()</code></a>,
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-insert-range" title="gtk_text_buffer_insert_range ()"><code class="function">gtk_text_buffer_insert_range()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>textbuffer</code></em> :</span></p></td>
<td>the object which received the signal</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>tag</code></em> :</span></p></td>
<td>the applied tag</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>start</code></em> :</span></p></td>
<td>the start of the range the tag is applied to</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>end</code></em> :</span></p></td>
<td>the end of the range the tag is applied to</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GtkTextBuffer-begin-user-action"></a><h3>The <code class="literal">"begin-user-action"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *textbuffer,
                                                        <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>       user_data)       : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
<p>
The ::begin-user-action signal is emitted at the beginning of a single
user-visible operation on a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>.
</p>
<p>
See also: 
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-begin-user-action" title="gtk_text_buffer_begin_user_action ()"><code class="function">gtk_text_buffer_begin_user_action()</code></a>,
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-insert-interactive" title="gtk_text_buffer_insert_interactive ()"><code class="function">gtk_text_buffer_insert_interactive()</code></a>,
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-insert-range-interactive" title="gtk_text_buffer_insert_range_interactive ()"><code class="function">gtk_text_buffer_insert_range_interactive()</code></a>,
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-delete-interactive" title="gtk_text_buffer_delete_interactive ()"><code class="function">gtk_text_buffer_delete_interactive()</code></a>,
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-backspace" title="gtk_text_buffer_backspace ()"><code class="function">gtk_text_buffer_backspace()</code></a>,
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-delete-selection" title="gtk_text_buffer_delete_selection ()"><code class="function">gtk_text_buffer_delete_selection()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>textbuffer</code></em> :</span></p></td>
<td>the object which received the signal</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GtkTextBuffer-changed"></a><h3>The <code class="literal">"changed"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *textbuffer,
                                                        <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>       user_data)       : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
<p>
The ::changed signal is emitted when the content of a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> 
has changed.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>textbuffer</code></em> :</span></p></td>
<td>the object which received the signal</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GtkTextBuffer-delete-range"></a><h3>The <code class="literal">"delete-range"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *textbuffer,
                                                        <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a>   *start,
                                                        <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a>   *end,
                                                        <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>       user_data)       : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
<p>
The ::delete-range signal is emitted to delete a range 
from a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>. 
</p>
<p>
Note that if your handler runs before the default handler it must not 
invalidate the <em class="parameter"><code>start</code></em> and <em class="parameter"><code>end</code></em> iters (or has to revalidate them). 
The default signal handler revalidates the <em class="parameter"><code>start</code></em> and <em class="parameter"><code>end</code></em> iters to 
both point point to the location where text was deleted. Handlers
which run after the default handler (see <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#g-signal-connect-after"><code class="function">g_signal_connect_after()</code></a>)
do not have access to the deleted text.
</p>
<p>
See also: <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-delete" title="gtk_text_buffer_delete ()"><code class="function">gtk_text_buffer_delete()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>textbuffer</code></em> :</span></p></td>
<td>the object which received the signal</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>start</code></em> :</span></p></td>
<td>the start of the range to be deleted</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>end</code></em> :</span></p></td>
<td>the end of the range to be deleted</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GtkTextBuffer-end-user-action"></a><h3>The <code class="literal">"end-user-action"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *textbuffer,
                                                        <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>       user_data)       : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
<p>
The ::end-user-action signal is emitted at the end of a single
user-visible operation on the <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>.
</p>
<p>
See also: 
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-end-user-action" title="gtk_text_buffer_end_user_action ()"><code class="function">gtk_text_buffer_end_user_action()</code></a>,
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-insert-interactive" title="gtk_text_buffer_insert_interactive ()"><code class="function">gtk_text_buffer_insert_interactive()</code></a>,
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-insert-range-interactive" title="gtk_text_buffer_insert_range_interactive ()"><code class="function">gtk_text_buffer_insert_range_interactive()</code></a>,
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-delete-interactive" title="gtk_text_buffer_delete_interactive ()"><code class="function">gtk_text_buffer_delete_interactive()</code></a>,
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-backspace" title="gtk_text_buffer_backspace ()"><code class="function">gtk_text_buffer_backspace()</code></a>,
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-delete-selection" title="gtk_text_buffer_delete_selection ()"><code class="function">gtk_text_buffer_delete_selection()</code></a>,
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-backspace" title="gtk_text_buffer_backspace ()"><code class="function">gtk_text_buffer_backspace()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>textbuffer</code></em> :</span></p></td>
<td>the object which received the signal</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GtkTextBuffer-insert-child-anchor"></a><h3>The <code class="literal">"insert-child-anchor"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>      *textbuffer,
                                                        <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a>        *location,
                                                        <a class="link" href="GtkTextView.html#GtkTextChildAnchor"><span class="type">GtkTextChildAnchor</span></a> *anchor,
                                                        <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>            user_data)       : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
<p>
The ::insert-child-anchor signal is emitted to insert a
<a class="link" href="GtkTextView.html#GtkTextChildAnchor"><span class="type">GtkTextChildAnchor</span></a> in a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>.
Insertion actually occurs in the default handler.
</p>
<p>
Note that if your handler runs before the default handler it must
not invalidate the <em class="parameter"><code>location</code></em> iter (or has to revalidate it). 
The default signal handler revalidates it to be placed after the 
inserted <em class="parameter"><code>anchor</code></em>.
</p>
<p>
See also: <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-insert-child-anchor" title="gtk_text_buffer_insert_child_anchor ()"><code class="function">gtk_text_buffer_insert_child_anchor()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>textbuffer</code></em> :</span></p></td>
<td>the object which received the signal</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>location</code></em> :</span></p></td>
<td>position to insert <em class="parameter"><code>anchor</code></em> in <em class="parameter"><code>textbuffer</code></em>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>anchor</code></em> :</span></p></td>
<td>the <a class="link" href="GtkTextView.html#GtkTextChildAnchor"><span class="type">GtkTextChildAnchor</span></a> to be inserted</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GtkTextBuffer-insert-pixbuf"></a><h3>The <code class="literal">"insert-pixbuf"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *textbuffer,
                                                        <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a>   *location,
                                                        <a href="http://library.gnome.org/devel/gdk-pixbuf/unstable/gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf"><span class="type">GdkPixbuf</span></a>     *pixbuf,
                                                        <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>       user_data)       : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
<p>
The ::insert-pixbuf signal is emitted to insert a <a href="http://library.gnome.org/devel/gdk-pixbuf/unstable/gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf"><span class="type">GdkPixbuf</span></a> 
in a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>. Insertion actually occurs in the default handler.
</p>
<p>
Note that if your handler runs before the default handler it must not 
invalidate the <em class="parameter"><code>location</code></em> iter (or has to revalidate it). 
The default signal handler revalidates it to be placed after the 
inserted <em class="parameter"><code>pixbuf</code></em>.
</p>
<p>
See also: <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-insert-pixbuf" title="gtk_text_buffer_insert_pixbuf ()"><code class="function">gtk_text_buffer_insert_pixbuf()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>textbuffer</code></em> :</span></p></td>
<td>the object which received the signal</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>location</code></em> :</span></p></td>
<td>position to insert <em class="parameter"><code>pixbuf</code></em> in <em class="parameter"><code>textbuffer</code></em>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>pixbuf</code></em> :</span></p></td>
<td>the <a href="http://library.gnome.org/devel/gdk-pixbuf/unstable/gdk-pixbuf-The-GdkPixbuf-Structure.html#GdkPixbuf"><span class="type">GdkPixbuf</span></a> to be inserted</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GtkTextBuffer-insert-text"></a><h3>The <code class="literal">"insert-text"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *textbuffer,
                                                        <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a>   *location,
                                                        <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>         *text,
                                                        <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gint"><span class="type">gint</span></a>           len,
                                                        <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>       user_data)       : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
<p>
The ::insert-text signal is emitted to insert text in a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>.
Insertion actually occurs in the default handler.  
</p>
<p>
Note that if your handler runs before the default handler it must not 
invalidate the <em class="parameter"><code>location</code></em> iter (or has to revalidate it). 
The default signal handler revalidates it to point to the end of the 
inserted text.
</p>
<p>
See also: 
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-insert" title="gtk_text_buffer_insert ()"><code class="function">gtk_text_buffer_insert()</code></a>, 
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-insert-range" title="gtk_text_buffer_insert_range ()"><code class="function">gtk_text_buffer_insert_range()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>textbuffer</code></em> :</span></p></td>
<td>the object which received the signal</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>location</code></em> :</span></p></td>
<td>position to insert <em class="parameter"><code>text</code></em> in <em class="parameter"><code>textbuffer</code></em>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>text</code></em> :</span></p></td>
<td>the UTF-8 text to be inserted</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>len</code></em> :</span></p></td>
<td>length of the inserted text in bytes</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GtkTextBuffer-mark-deleted"></a><h3>The <code class="literal">"mark-deleted"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *textbuffer,
                                                        <a class="link" href="GtkTextMark.html" title="GtkTextMark"><span class="type">GtkTextMark</span></a>   *mark,
                                                        <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>       user_data)       : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
<p>
The ::mark-deleted signal is emitted as notification
after a <a class="link" href="GtkTextMark.html" title="GtkTextMark"><span class="type">GtkTextMark</span></a> is deleted. 
</p>
<p>
See also:
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-delete-mark" title="gtk_text_buffer_delete_mark ()"><code class="function">gtk_text_buffer_delete_mark()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>textbuffer</code></em> :</span></p></td>
<td>the object which received the signal</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>mark</code></em> :</span></p></td>
<td>The mark that was deleted</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GtkTextBuffer-mark-set"></a><h3>The <code class="literal">"mark-set"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *textbuffer,
                                                        <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a>   *location,
                                                        <a class="link" href="GtkTextMark.html" title="GtkTextMark"><span class="type">GtkTextMark</span></a>   *mark,
                                                        <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>       user_data)       : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
<p>
The ::mark-set signal is emitted as notification
after a <a class="link" href="GtkTextMark.html" title="GtkTextMark"><span class="type">GtkTextMark</span></a> is set.
</p>
<p>
See also: 
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-create-mark" title="gtk_text_buffer_create_mark ()"><code class="function">gtk_text_buffer_create_mark()</code></a>,
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-move-mark" title="gtk_text_buffer_move_mark ()"><code class="function">gtk_text_buffer_move_mark()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>textbuffer</code></em> :</span></p></td>
<td>the object which received the signal</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>location</code></em> :</span></p></td>
<td>The location of <em class="parameter"><code>mark</code></em> in <em class="parameter"><code>textbuffer</code></em>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>mark</code></em> :</span></p></td>
<td>The mark that is set</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GtkTextBuffer-modified-changed"></a><h3>The <code class="literal">"modified-changed"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *textbuffer,
                                                        <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>       user_data)       : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
<p>
The ::modified-changed signal is emitted when the modified bit of a 
<a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> flips.
</p>
<p>
See also:
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-set-modified" title="gtk_text_buffer_set_modified ()"><code class="function">gtk_text_buffer_set_modified()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>textbuffer</code></em> :</span></p></td>
<td>the object which received the signal</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
<hr>
<div class="refsect2">
<a name="GtkTextBuffer-paste-done"></a><h3>The <code class="literal">"paste-done"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *textbuffer,
                                                        <a class="link" href="gtk-Clipboards.html#GtkClipboard"><span class="type">GtkClipboard</span></a>  *arg1,
                                                        <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>       user_data)       : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
<p>
The paste-done signal is emitted after paste operation has been completed.
This is useful to properly scroll the view to the end of the pasted text.
See <a class="link" href="GtkTextBuffer.html#gtk-text-buffer-paste-clipboard" title="gtk_text_buffer_paste_clipboard ()"><code class="function">gtk_text_buffer_paste_clipboard()</code></a> for more details.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>textbuffer</code></em> :</span></p></td>
<td>the object which received the signal</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
<p class="since">Since 2.16</p>
</div>
<hr>
<div class="refsect2">
<a name="GtkTextBuffer-remove-tag"></a><h3>The <code class="literal">"remove-tag"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span>                user_function                      (<a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a> *textbuffer,
                                                        <a class="link" href="GtkTextTag.html" title="GtkTextTag"><span class="type">GtkTextTag</span></a>    *tag,
                                                        <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a>   *start,
                                                        <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a>   *end,
                                                        <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a>       user_data)       : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
<p>
The ::remove-tag signal is emitted to remove all occurrences of <em class="parameter"><code>tag</code></em> from
a range of text in a <a class="link" href="GtkTextBuffer.html" title="GtkTextBuffer"><span class="type">GtkTextBuffer</span></a>. 
Removal actually occurs in the default handler.
</p>
<p>
Note that if your handler runs before the default handler it must not 
invalidate the <em class="parameter"><code>start</code></em> and <em class="parameter"><code>end</code></em> iters (or has to revalidate them). 
</p>
<p>
See also: 
<a class="link" href="GtkTextBuffer.html#gtk-text-buffer-remove-tag" title="gtk_text_buffer_remove_tag ()"><code class="function">gtk_text_buffer_remove_tag()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>textbuffer</code></em> :</span></p></td>
<td>the object which received the signal</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>tag</code></em> :</span></p></td>
<td>the tag to be removed</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>start</code></em> :</span></p></td>
<td>the start of the range the tag is removed from</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>end</code></em> :</span></p></td>
<td>the end of the range the tag is removed from</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em> :</span></p></td>
<td>user data set when the signal handler was connected.</td>
</tr>
</tbody>
</table></div>
</div>
</div>
<div class="refsect1">
<a name="GtkTextBuffer.see-also"></a><h2>See Also</h2>
<p>
<a class="link" href="GtkTextView.html" title="GtkTextView"><span class="type">GtkTextView</span></a>, <a class="link" href="GtkTextIter.html" title="GtkTextIter"><span class="type">GtkTextIter</span></a>, <a class="link" href="GtkTextMark.html" title="GtkTextMark"><span class="type">GtkTextMark</span></a>
</p>
</div>
</div>
<div class="footer">
<hr>
          Generated by GTK-Doc V1.18</div>
</body>
</html>